Search in sources :

Example 31 with SSLEngine

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

the class SSLEngineTest method test_wrap_04.

/**
     * javax.net.ssl.SSLEngine#wrap(ByteBuffer[] srcs, int offset,
     *                                     int length, ByteBuffer dst)
     * Exception case: IllegalArgumentException should be thrown.
     */
@KnownFailure("Fixed on DonutBurger, Wrong Exception thrown")
public void test_wrap_04() {
    String host = "new host";
    int port = 8080;
    ByteBuffer[] bbA = { ByteBuffer.allocate(100), ByteBuffer.allocate(10), ByteBuffer.allocate(100) };
    ByteBuffer[] bbN = null;
    ByteBuffer bN = null;
    SSLEngine e = getEngine(host, port);
    e.setUseClientMode(true);
    try {
        e.wrap(bbA, 0, 3, bN);
        fail("IllegalArgumentException must be thrown for null srcs byte buffer array");
    } catch (NullPointerException npe) {
    } catch (IllegalArgumentException ex) {
    } catch (Exception ex) {
        fail(ex + " was thrown instead of IllegalArgumentException");
    }
    try {
        e.wrap(bbN, 0, 0, bN);
        fail("IllegalArgumentException wasn't thrown");
    } catch (IllegalArgumentException ex) {
    } catch (NullPointerException npe) {
    } catch (Exception ex) {
        fail(ex + " 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 32 with SSLEngine

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

the class SSLEngineTest method test_closeInbound.

/**
     * @throws NoSuchAlgorithmException
     * javax.net.ssl.SSLEngine#closeInbound()
     * javax.net.ssl.SSLEngine#isInboundDone()
     */
public void test_closeInbound() throws NoSuchAlgorithmException {
    SSLEngine sse = getEngine();
    try {
        assertFalse(sse.isInboundDone());
        sse.closeInbound();
        assertTrue(sse.isInboundDone());
    } 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 33 with SSLEngine

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

the class SSLEngineTest method test_EnabledProtocols.

/**
     * @throws NoSuchAlgorithmException
     * javax.net.ssl.SSLEngine#setEnabledProtocols(String[] protocols)
     * javax.net.ssl.SSLEngine#getEnabledProtocols()
     */
public void test_EnabledProtocols() throws NoSuchAlgorithmException {
    SSLEngine sse = getEngine();
    String[] pr = sse.getSupportedProtocols();
    try {
        sse.setEnabledProtocols(pr);
        String[] res = sse.getEnabledProtocols();
        assertNotNull("Null array was returned", res);
        assertEquals("Incorrect array length", res.length, pr.length);
        assertTrue("Incorrect array was returned", Arrays.equals(res, pr));
    } catch (Exception ex) {
        fail("Unexpected exception " + ex);
    }
    try {
        sse.setEnabledProtocols(null);
        fail("IllegalArgumentException wasn't thrown");
    } catch (IllegalArgumentException iae) {
    //expected
    }
}
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 34 with SSLEngine

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

the class SSLEngineTest method test_unwrap_05.

/**
     * javax.net.ssl.SSLEngine#unwrap(ByteBuffer src, ByteBuffer[] dsts,
     *                                       int offset, int length)
     * Exception case: IllegalStateException should be thrown.
     */
@AndroidOnly("The RI doesn't throw the IllegalStateException.")
public void test_unwrap_05() {
    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);
    try {
        sse.unwrap(bb, bbA, 0, bbA.length);
        fail("IllegalStateException wasn't thrown");
    } catch (IllegalStateException iobe) {
    //expected
    } catch (Exception e) {
        fail(e + " was thrown instead of IllegalStateException");
    }
}
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) AndroidOnly(dalvik.annotation.AndroidOnly)

Example 35 with SSLEngine

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

the class SSLEngineTest method test_ConstructorLjava_lang_StringI02.

/**
     * Test for <code>SSLEngine(String host, int port)</code> constructor
     * @throws NoSuchAlgorithmException
     */
public void test_ConstructorLjava_lang_StringI02() throws NoSuchAlgorithmException {
    String host = "new host";
    int port = 8080;
    SSLEngine e = getEngine(host, port);
    assertEquals(e.getPeerHost(), host);
    assertEquals(e.getPeerPort(), port);
    String[] suites = e.getSupportedCipherSuites();
    e.setEnabledCipherSuites(suites);
    assertEquals(e.getEnabledCipherSuites().length, suites.length);
    e.setUseClientMode(true);
    assertTrue(e.getUseClientMode());
}
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