@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;
  }
Esempio n. 2
0
  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();
 }