/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* 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
* 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
*/
public class Basics {
"/" + keyStoreFile;
"/" + trustStoreFile;
throw new Exception("set ciphers not what was expected");
}
throw new Exception("set protocols not what was expected");
}
ssle.setUseClientMode(true);
if (ssle.getUseClientMode() != true) {
throw new Exception("set/getUseClientMode false");
}
ssle.setUseClientMode(false);
if (ssle.getUseClientMode() != false) {
throw new Exception("set/getUseClientMode true");
}
ssle.setNeedClientAuth(false);
if (ssle.getNeedClientAuth() != false) {
throw new Exception("set/getNeedClientAuth true");
}
ssle.setNeedClientAuth(true);
if (ssle.getNeedClientAuth() != true) {
throw new Exception("set/getNeedClientAuth false");
}
ssle.setWantClientAuth(true);
if (ssle.getNeedClientAuth() == true) {
throw new Exception("set/getWantClientAuth need = true");
}
if (ssle.getWantClientAuth() != true) {
throw new Exception("set/getNeedClientAuth false");
}
ssle.setWantClientAuth(false);
if (ssle.getWantClientAuth() != false) {
throw new Exception("set/getNeedClientAuth true");
}
/*
* Reset back to client mode
*/
ssle.setUseClientMode(true);
ssle.setEnableSessionCreation(false);
if (ssle.getEnableSessionCreation() != false) {
throw new Exception("set/getSessionCreation true");
}
ssle.setEnableSessionCreation(true);
if (ssle.getEnableSessionCreation() != true) {
throw new Exception("set/getSessionCreation false");
}
throw new Exception("wrap should have overflowed");
}
// For unwrap(), the BUFFER_OVERFLOW will not be generated
// BUFFER_OVERFLOW/UNDERFLOW for both wrap() and unwrap().
//
//if (ssle.unwrap(smallBB, smallBB).getStatus() !=
// Status.BUFFER_OVERFLOW) {
// throw new Exception("unwrap should have overflowed");
//}
/*
* start handshake, drain buffer
*/
throw new Exception("initial client hello needs unwrap");
}
throw new Exception("unwrap should have overflowed");
}
try {
throw new Exception("wrap wasn't ReadOnlyBufferException");
} catch (ReadOnlyBufferException e) {
}
try {
throw new Exception("unwrap wasn't ReadOnlyBufferException");
} catch (ReadOnlyBufferException e) {
}
if ((sslER =
throw new Exception("unwrap should underflow");
}
if ((sslER =
throw new Exception("unwrap should underflow");
}
if ((sslER =
throw new Exception("unwrap should underflow");
}
// junk inbound message
try {
throw new Exception("Didn't catch the nasty SSLException");
} catch (SSLException e) {
}
}
static byte [] smallSSLHeader = new byte [] {
(byte) 0x16, (byte) 0x03, (byte) 0x01,
(byte) 0x05 };
static byte [] incompleteSSLHeader = new byte [] {
(byte) 0x16, (byte) 0x03, (byte) 0x01,
(byte) 0x00, (byte) 0x5, // 5 bytes
(byte) 0x16, (byte) 0x03, (byte) 0x01, (byte) 0x00 };
static byte [] smallv2Header = new byte [] {
(byte) 0x80, (byte) 0x03, (byte) 0x01,
(byte) 0x00 };
static byte [] gobblydegook = new byte [] {
// "HELLO HELLO"
(byte) 0x48, (byte) 0x45, (byte) 0x4C, (byte) 0x4C, (byte) 0x20,
(byte) 0x48, (byte) 0x45, (byte) 0x4C, (byte) 0x4C };
}
}
}