@Parameters(name = "{index}: serverEngine = {0}, clientEngine = {1}") public static Collection<Object[]> data() throws Exception { List<SslContext> serverContexts = new ArrayList<SslContext>(); List<SslContext> clientContexts = new ArrayList<SslContext>(); clientContexts.add(new JdkSslClientContext(CERT_FILE)); boolean hasOpenSsl = OpenSsl.isAvailable(); if (hasOpenSsl) { OpenSslServerContext context = new OpenSslServerContext(CERT_FILE, KEY_FILE); context.setRejectRemoteInitiatedRenegotiation(true); serverContexts.add(context); } else { logger.warn( "OpenSSL is unavailable and thus will not be tested.", OpenSsl.unavailabilityCause()); } List<Object[]> params = new ArrayList<Object[]>(); for (SslContext sc : serverContexts) { for (SslContext cc : clientContexts) { for (int i = 0; i < 32; i++) { params.add(new Object[] {sc, cc}); } } } return params; }
public static void main(String[] args) throws Exception { System.out.println("Netty can use OpenSSL: " + OpenSsl.isAvailable()); TlsTest test = new TlsTest(); System.out.println("Running test..."); test.serverRejectsUntrustedClientCert(); System.out.println("SUCCESS"); }
@Test(timeout = 30000) public void testSslRenegotiationRejected() throws Throwable { Assume.assumeTrue(OpenSsl.isAvailable()); run(); }