Ejemplo n.º 1
0
  @Override
  protected SslSelectChannelConnector createSslSocketConnector() throws Exception {

    LOG.debug("A new SSL Connector is being made!!");

    SslContextFactory sslContextFactory =
        new SslContextFactory() {
          @Override
          protected TrustManager[] getTrustManagers(
              KeyStore trustStore, Collection<? extends CRL> crls) throws Exception {
            E3TrustManager trustManager = new E3TrustManager(trustStore);
            // set this flag only when there's at least one CA
            setWantClientAuth(trustManager.getAcceptedIssuers().length > 0);
            return new TrustManager[] {trustManager};
          }
        };

    sslContextFactory.setKeyStoreType("BKS");
    sslContextFactory.setKeyStoreProvider("BC");

    // This password (used to encrypt keys in the keystore) must not be longer than 7 characters!!!
    sslContextFactory.setKeyManagerPassword(keyStoreKeyPassword);
    sslContextFactory.setKeyStorePassword(keyStorePassword);

    sslContextFactory.setKeyStore(keyStorePath);

    sslContextFactory.setTrustStoreType("BKS");
    sslContextFactory.setTrustStoreProvider("BC");

    sslContextFactory.setTrustStorePassword(trustStorePassword);
    sslContextFactory.setTrustStore(trustStorePath);

    return new SslSelectChannelConnector(sslContextFactory);
  }