Java 将SSL侦听器添加到未绑定

Java 将SSL侦听器添加到未绑定,java,unboundid-ldap-sdk,Java,Unboundid Ldap Sdk,我想使用SSL侦听器启动内存中未绑定的服务器。到目前为止,我只能创建一个非SSL的,这在许多示例中都可以看到。不幸的是,我似乎无法找到一个示例来说明如何添加SSL侦听器。所有的SSL示例似乎都展示了如何实例化连接和使用SSL/TLS 谁能告诉我该怎么做 提前谢谢 以下是我在LDAP SDK单元测试中使用的配置之一: final InMemoryDirectoryServerConfig cfg = new InMemoryDirectoryServerConfig("dc=exampl

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

谁能告诉我该怎么做


提前谢谢

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

尼尔

为什么会在记忆中?它将占据一个巨大的空间,根本没有这样的东西。它很轻。我正在写一个Maven插件。谢谢这个例子!只是一个小小的澄清:这是在同一个端口上监听,还是。。。?它是如何工作的?你能不能也粘贴一个链接到你所指的测试源?谢谢内存中的目录服务器可以有任意数量的侦听器。默认情况下(当您不使用InMemoryDirectoryServerConfig.setListenerConfigs方法时),您将获得一个未加密的侦听器,该侦听器侦听系统自动选择的端口。如果使用setListenerConfigs方法,则可以根据需要配置任意多个侦听器,每个侦听器将使用不同的端口。如果让服务器为您选择端口,请在服务器启动后使用InMemoryDirectoryServer.getListenPort(listenerName)方法确定已选择的端口。遗憾的是,LDAP SDK单元测试不公开。运行测试需要访问一个未绑定的目录服务器实例,该软件目前仅对付费客户可用。但是,我正在改进LDAP SDK javadoc中的示例,并且已经更新了InMemoryDirectoryServer示例,以演示如何为SSL和StartTLS设置它。这将在未来几天内提交(以及许多其他示例更新)。我是Unbounded LDAP SDK for Java的首席开发人员。我刚刚给你发了一封电子邮件,里面有关于许可证的信息以及如何获得帮助。仅供参考,寻找其他帮助来源的最佳页面是。