3

我想使用 SSL 侦听器启动内存中的 UnboundID 服务器。到目前为止,我只能创建一个非 SSL 的,这可以在许多示例中看​​到。不幸的是,我似乎无法找到说明如何添加 SSL 侦听器的示例。所有 SSL 示例似乎都在展示如何实例化连接和使用 SSL/TLS。

有人可以说明这应该怎么做吗?

提前致谢!

4

1 回答 1

4

这是我在 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())

尼尔

于 2013-10-31T18:49:22.050 回答