Search in sources :

Example 41 with SSLEngine

use of javax.net.ssl.SSLEngine in project robovm by robovm.

the class SSLEngineTest method test_unwrap_ByteBuffer$ByteBuffer_02.

/**
     * javax.net.ssl.SSLEngine#unwrap(ByteBuffer src, ByteBuffer[] dsts)
     * ReadOnlyBufferException should be thrown.
     */
@KnownFailure("Fixed on DonutBurger, Wrong Exception thrown")
public void test_unwrap_ByteBuffer$ByteBuffer_02() {
    String host = "new host";
    int port = 8080;
    ByteBuffer bbs = ByteBuffer.allocate(10);
    ByteBuffer bbR = ByteBuffer.allocate(100).asReadOnlyBuffer();
    ByteBuffer[] bbA = { bbR, ByteBuffer.allocate(10), ByteBuffer.allocate(100) };
    SSLEngine sse = getEngine(host, port);
    sse.setUseClientMode(true);
    try {
        sse.unwrap(bbs, bbA);
        fail("ReadOnlyBufferException wasn't thrown");
    } catch (ReadOnlyBufferException iobe) {
    //expected
    } catch (Exception e) {
        fail(e + " was thrown instead of ReadOnlyBufferException");
    }
}
Also used : ReadOnlyBufferException(java.nio.ReadOnlyBufferException) SSLEngine(javax.net.ssl.SSLEngine) ByteBuffer(java.nio.ByteBuffer) IOException(java.io.IOException) KeyManagementException(java.security.KeyManagementException) SSLException(javax.net.ssl.SSLException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) ReadOnlyBufferException(java.nio.ReadOnlyBufferException) KnownFailure(dalvik.annotation.KnownFailure)

Example 42 with SSLEngine

use of javax.net.ssl.SSLEngine in project robovm by robovm.

the class SSLEngineTest method test_wrap_06.

/**
     * javax.net.ssl.SSLEngine#wrap(ByteBuffer[] srcs, int offset,
     *                                     int length, ByteBuffer dst)
     */
public void test_wrap_06() {
    String host = "new host";
    int port = 8080;
    ByteBuffer bb = ByteBuffer.allocate(10);
    ByteBuffer[] bbA = { ByteBuffer.allocate(5), ByteBuffer.allocate(10), ByteBuffer.allocate(5) };
    SSLEngine sse = getEngine(host, port);
    sse.setUseClientMode(true);
    try {
        sse.wrap(bbA, 0, bbA.length, bb);
    } catch (Exception ex) {
        fail("Unexpected exception: " + ex);
    }
}
Also used : SSLEngine(javax.net.ssl.SSLEngine) ByteBuffer(java.nio.ByteBuffer) IOException(java.io.IOException) KeyManagementException(java.security.KeyManagementException) SSLException(javax.net.ssl.SSLException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) ReadOnlyBufferException(java.nio.ReadOnlyBufferException)

Example 43 with SSLEngine

use of javax.net.ssl.SSLEngine in project robovm by robovm.

the class SSLEngineTest method test_beginHandshake.

/**
     * @throws NoSuchAlgorithmException
     * javax.net.ssl.SSLEngine#beginHandshake()
     */
public void test_beginHandshake() throws NoSuchAlgorithmException {
    SSLEngine sse = getEngine();
    try {
        sse.beginHandshake();
        fail("IllegalStateException wasn't thrown");
    } catch (IllegalStateException se) {
    //expected
    } catch (Exception e) {
        fail(e + " was thrown instead of IllegalStateException");
    }
    sse = getEngine("new host", 1080);
    try {
        sse.beginHandshake();
        fail("IllegalStateException wasn't thrown");
    } catch (IllegalStateException ise) {
    //expected
    } catch (Exception e) {
        fail(e + " was thrown instead of IllegalStateException");
    }
    sse = getEngine();
    try {
        sse.setUseClientMode(true);
        sse.beginHandshake();
    } catch (Exception ex) {
        fail("Unexpected exception " + ex);
    }
}
Also used : SSLEngine(javax.net.ssl.SSLEngine) IOException(java.io.IOException) KeyManagementException(java.security.KeyManagementException) SSLException(javax.net.ssl.SSLException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) ReadOnlyBufferException(java.nio.ReadOnlyBufferException)

Example 44 with SSLEngine

use of javax.net.ssl.SSLEngine in project robovm by robovm.

the class SSLEngineTest method test_SSLEngine_getSSLParameters.

public void test_SSLEngine_getSSLParameters() throws Exception {
    TestSSLContext c = TestSSLContext.create();
    SSLEngine e = c.clientContext.createSSLEngine();
    SSLParameters p = e.getSSLParameters();
    assertNotNull(p);
    String[] cipherSuites = p.getCipherSuites();
    StandardNames.assertValidCipherSuites(StandardNames.CIPHER_SUITES, cipherSuites);
    assertNotSame(cipherSuites, e.getEnabledCipherSuites());
    assertEquals(Arrays.asList(cipherSuites), Arrays.asList(e.getEnabledCipherSuites()));
    String[] protocols = p.getProtocols();
    StandardNames.assertValidProtocols(StandardNames.SSL_SOCKET_PROTOCOLS, protocols);
    assertNotSame(protocols, e.getEnabledProtocols());
    assertEquals(Arrays.asList(protocols), Arrays.asList(e.getEnabledProtocols()));
    assertEquals(p.getWantClientAuth(), e.getWantClientAuth());
    assertEquals(p.getNeedClientAuth(), e.getNeedClientAuth());
    c.close();
}
Also used : SSLParameters(javax.net.ssl.SSLParameters) SSLEngine(javax.net.ssl.SSLEngine)

Example 45 with SSLEngine

use of javax.net.ssl.SSLEngine in project robovm by robovm.

the class SSLEngineTest method test_SSLEngine_getEnabledProtocols.

public void test_SSLEngine_getEnabledProtocols() throws Exception {
    TestSSLContext c = TestSSLContext.create();
    SSLEngine e = c.clientContext.createSSLEngine();
    String[] protocols = e.getEnabledProtocols();
    StandardNames.assertValidProtocols(StandardNames.SSL_SOCKET_PROTOCOLS, protocols);
    assertNotSame(protocols, e.getEnabledProtocols());
    c.close();
}
Also used : SSLEngine(javax.net.ssl.SSLEngine)

Aggregations

SSLEngine (javax.net.ssl.SSLEngine)494 IOException (java.io.IOException)97 SSLContext (javax.net.ssl.SSLContext)97 ByteBuffer (java.nio.ByteBuffer)91 SelfSignedCertificate (io.netty.handler.ssl.util.SelfSignedCertificate)75 SSLException (javax.net.ssl.SSLException)71 Test (org.junit.Test)64 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)54 SslHandler (io.netty.handler.ssl.SslHandler)52 SSLEngineResult (javax.net.ssl.SSLEngineResult)50 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)47 MethodSource (org.junit.jupiter.params.provider.MethodSource)44 SSLParameters (javax.net.ssl.SSLParameters)43 InetSocketAddress (java.net.InetSocketAddress)42 KeyManagementException (java.security.KeyManagementException)42 ReadOnlyBufferException (java.nio.ReadOnlyBufferException)35 KeyStore (java.security.KeyStore)28 Test (org.junit.jupiter.api.Test)22 ChannelHandlerContext (io.netty.channel.ChannelHandlerContext)21 Socket (java.net.Socket)21