Добавление прослушивателя SSL к UnboundID

Я хотел бы запустить сервер UnboundID в памяти, используя прослушиватель SSL. Пока что я могу создать только не-SSL, как это можно увидеть во многих примерах. К сожалению, я не могу найти пример, который иллюстрирует, как добавить прослушиватель SSL. Кажется, что все примеры SSL показывают, как создать экземпляр соединения и использовать SSL/TLS.

Может кто-нибудь показать, как это должно быть сделано?

Заранее спасибо!

1 ответ

Решение

Вот одна из конфигураций, которые я использую в модульных тестах LDAP SDK:

final InMemoryDirectoryServerConfig cfg =
     new InMemoryDirectoryServerConfig("dc=example,dc=com",
          "o=example.com");
cfg.addAdditionalBindCredentials("cn=Directory Manager", "password");
cfg.addAdditionalBindCredentials("cn=Manager", "password");
cfg.setSchema(Schema.getDefaultStandardSchema());
cfg.setListenerExceptionHandler(
     new StandardErrorListenerExceptionHandler());

final SSLUtil serverSSLUtil = new SSLUtil(
     new KeyStoreKeyManager(keyStorePath, "password".toCharArray(),
          "JKS", "server-cert"),
     new TrustStoreTrustManager(trustStorePath));
final SSLUtil clientSSLUtil = new SSLUtil(new TrustAllTrustManager());

cfg.setListenerConfigs(InMemoryListenerConfig.createLDAPSConfig("LDAPS",
     null, 0, serverSSLUtil.createSSLServerSocketFactory(),
     clientSSLUtil.createSSLSocketFactory()));

final InMemoryDirectoryServer testDSWithSSL =
     new InMemoryDirectoryServer(cfg);
testDSWithSSL.startListening();

Кроме того, если вы хотите добавить поддержку StartTLS, вы должны добавить другую конфигурацию слушателя, которая выглядит следующим образом:

InMemoryListenerConfig.createLDAPConfig("LDAP with StartTLS", null, 0,
     serverSSLUtil.createSSLSocketFactory())

Нил

Другие вопросы по тегам