// add SSL connectors
for (HttpSslConnectorConfiguration connConfig : configuration.getSslConnectors()) {
logger.trace("Creating NIO SSL connector on port [{}]...", connConfig.getPort());
// NIO-based SSL connector requires a factory at constructor time
SslContextFactory factory = new SslContextFactory();
// the keystore file MUST be set
if (connConfig.getKeystoreFile() == null) {
throw new Exception("An HTTP SSL connector must have its keystoreFile set");
}
logger.info("Configuring NIO SSL connector on port [{}] with keystoreFile [{}]", connConfig.getPort(), connConfig.getKeystoreFile());
factory.setKeyStore(connConfig.getKeystoreFile());
factory.setKeyStorePassword(connConfig.getKeystorePassword());
factory.setKeyManagerPassword(connConfig.getKeystorePassword());
// the truststore is either specific or the same as keystore
if (connConfig.getTruststoreFile() == null) {
factory.setTrustStore(factory.getKeyStore());
} else {
factory.setTrustStore(connConfig.getTruststoreFile());
}
if (connConfig.getTruststorePassword() == null) {
factory.setTrustStorePassword(connConfig.getKeystorePassword());
} else {
factory.setTrustStorePassword(connConfig.getTruststorePassword());
}
// user higher performance NIO SSL connector
SslSelectChannelConnector connector = new SslSelectChannelConnector(factory);
if (connConfig.getHost() != null) {