/* * Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
/* * @test * @bug 4495742 * @summary Add non-blocking SSL/TLS functionality, usable with any * I/O abstraction * @ignore JSSE supported cipher suites are changed with CR 6916074, * need to update this test case in JDK 7 soon * * This is intended to test many of the basic API calls to the SSLEngine * interface. This doesn't really exercise much of the SSL code. * * @author Brad Wetmore
*/
suites = ssle.getEnabledCipherSuites(); if ((ssle.getEnabledCipherSuites().length != 1) ||
!(suites[0].equals(secondSuite))) { thrownew Exception("set ciphers not what was expected");
}
protocols = ssle.getEnabledProtocols(); if ((ssle.getEnabledProtocols().length != 1) ||
!(protocols[0].equals(secondProtocol))) { thrownew Exception("set protocols not what was expected");
}
ssle.setUseClientMode(true); if (ssle.getUseClientMode() != true) { thrownew Exception("set/getUseClientMode false");
}
ssle.setUseClientMode(false); if (ssle.getUseClientMode() != false) { thrownew Exception("set/getUseClientMode true");
}
System.out.println("Checking get/setClientAuth");
ssle.setNeedClientAuth(false); if (ssle.getNeedClientAuth() != false) { thrownew Exception("set/getNeedClientAuth true");
}
ssle.setNeedClientAuth(true); if (ssle.getNeedClientAuth() != true) { thrownew Exception("set/getNeedClientAuth false");
}
ssle.setWantClientAuth(true);
if (ssle.getNeedClientAuth() == true) { thrownew Exception("set/getWantClientAuth need = true");
}
if (ssle.getWantClientAuth() != true) { thrownew Exception("set/getNeedClientAuth false");
}
ssle.setWantClientAuth(false); if (ssle.getWantClientAuth() != false) { thrownew Exception("set/getNeedClientAuth true");
}
/* * Reset back to client mode
*/
ssle.setUseClientMode(true);
System.out.println("checking session creation");
ssle.setEnableSessionCreation(false); if (ssle.getEnableSessionCreation() != false) { thrownew Exception("set/getSessionCreation true");
}
ssle.setEnableSessionCreation(true); if (ssle.getEnableSessionCreation() != true) { thrownew Exception("set/getSessionCreation false");
}
/* Checking for overflow wrap/unwrap() */
ByteBuffer smallBB = ByteBuffer.allocate(10);
if (ssle.wrap(smallBB, smallBB).getStatus() !=
Status.BUFFER_OVERFLOW) { thrownew Exception("wrap should have overflowed");
}
// For unwrap(), the BUFFER_OVERFLOW will not be generated // until received SSL/TLS application data. // Test test/jdk/javax/net/ssl/SSLEngine/LargePacket.java will check // BUFFER_OVERFLOW/UNDERFLOW for both wrap() and unwrap(). // //if (ssle.unwrap(smallBB, smallBB).getStatus() != // Status.BUFFER_OVERFLOW) { // throw new Exception("unwrap should have overflowed"); //}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.