Search in sources :

Example 26 with SSLEngine

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

the class SSLEngineTest method test_wrap_05.

/**
     * javax.net.ssl.SSLEngine#wrap(ByteBuffer[] srcs, int offset,
     *                                     int length, ByteBuffer dst)
     * Exception case: IllegalStateException should be thrown.
     */
@AndroidOnly("The RI doesn't throw the IllegalStateException.")
public void test_wrap_05() throws SSLException {
    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);
    try {
        sse.wrap(bbA, 0, bbA.length, bb);
        fail("IllegalStateException wasn't thrown");
    } catch (IllegalStateException iobe) {
    //expected
    }
}
Also used : SSLEngine(javax.net.ssl.SSLEngine) ByteBuffer(java.nio.ByteBuffer) AndroidOnly(dalvik.annotation.AndroidOnly)

Example 27 with SSLEngine

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

the class SSLEngineTest method test_WantClientAuth.

/**
     * @throws NoSuchAlgorithmException
     * javax.net.ssl.SSLEngine#setWantClientAuth(boolean want)
     * javax.net.ssl.SSLEngine#getWantClientAuth()
     */
public void test_WantClientAuth() throws NoSuchAlgorithmException {
    SSLEngine sse = getEngine();
    try {
        sse.setWantClientAuth(false);
        assertFalse(sse.getWantClientAuth());
        sse.setWantClientAuth(true);
        assertTrue(sse.getWantClientAuth());
    } 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 28 with SSLEngine

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

the class SSLEngineTest method test_unwrap_ByteBuffer$ByteBuffer_03.

/**
     * javax.net.ssl.SSLEngine#unwrap(ByteBuffer src, ByteBuffer[] dsts)
     * IllegalArgumentException should be thrown.
     */
@KnownFailure("Fixed on DonutBurger, Wrong Exception thrown")
public void test_unwrap_ByteBuffer$ByteBuffer_03() {
    String host = "new host";
    int port = 8080;
    ByteBuffer[] bbA = { ByteBuffer.allocate(100), ByteBuffer.allocate(10), ByteBuffer.allocate(100) };
    ByteBuffer[] bbN = { ByteBuffer.allocate(100), null, ByteBuffer.allocate(100) };
    ByteBuffer[] bbAN = null;
    ByteBuffer bb = ByteBuffer.allocate(10);
    ByteBuffer bN = null;
    SSLEngine sse = getEngine(host, port);
    sse.setUseClientMode(true);
    try {
        sse.unwrap(bN, bbA);
        fail("IllegalArgumentException wasn't thrown");
    } catch (IllegalArgumentException iobe) {
    //expected
    } catch (NullPointerException npe) {
    } catch (Exception e) {
        fail(e + " was thrown instead of IllegalArgumentException");
    }
    try {
        sse.unwrap(bb, bbAN);
        fail("IllegalArgumentException wasn't thrown");
    } catch (IllegalArgumentException iobe) {
    //expected
    } catch (NullPointerException npe) {
    } catch (Exception e) {
        fail(e + " was thrown instead of IllegalArgumentException");
    }
    try {
        sse.unwrap(bb, bbN);
        fail("IllegalArgumentException wasn't thrown");
    } catch (IllegalArgumentException iobe) {
    //expected
    } catch (NullPointerException npe) {
    } catch (Exception e) {
        fail(e + " was thrown instead of IllegalArgumentException");
    }
    try {
        sse.unwrap(bN, bbAN);
        fail("IllegalArgumentException wasn't thrown");
    } catch (IllegalArgumentException iobe) {
    //expected
    } catch (NullPointerException npe) {
    } catch (Exception e) {
        fail(e + " was thrown instead of IllegalArgumentException");
    }
}
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) KnownFailure(dalvik.annotation.KnownFailure)

Example 29 with SSLEngine

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

the class SSLEngineTest method test_getSupportedCipherSuites.

/**
     * @throws NoSuchAlgorithmException
     * javax.net.ssl.SSLEngine#getSupportedCipherSuites()
     */
public void test_getSupportedCipherSuites() throws NoSuchAlgorithmException {
    SSLEngine sse = getEngine();
    try {
        String[] res = sse.getSupportedCipherSuites();
        assertNotNull(res);
        assertTrue(res.length > 0);
    } 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 30 with SSLEngine

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

the class SSLEngineTest method test_unwrap_06.

/**
     * javax.net.ssl.SSLEngine#unwrap(ByteBuffer src, ByteBuffer[] dsts,
     *                                       int offset, int length)
     */
public void test_unwrap_06() {
    String host = "new host";
    int port = 8080;
    ByteBuffer[] bbA = { ByteBuffer.allocate(100), ByteBuffer.allocate(10), ByteBuffer.allocate(100) };
    ByteBuffer bb = ByteBuffer.allocate(10);
    SSLEngine sse = getEngine(host, port);
    sse.setUseClientMode(true);
    try {
        SSLEngineResult res = sse.unwrap(bb, bbA, 0, bbA.length);
        assertEquals(0, res.bytesConsumed());
        assertEquals(0, res.bytesProduced());
    } catch (Exception ex) {
        fail("Unexpected exception: " + ex);
    }
}
Also used : SSLEngineResult(javax.net.ssl.SSLEngineResult) 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)

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