【问题标题】:WebSphere ssl configuration for secure ( ssl ) communication with LDAP用于与 LDAP 进行安全 (ssl) 通信的 WebSphere ssl 配置
【发布时间】:2016-09-13 13:57:54
【问题描述】:

我们在 WebSphere 8.5 上部署了需要通过 ssl 与 LDAP 通信的 Web 服务。仅当 ldap 证书导入 JRE cacerts 存储时,ssl 通信才有效。

对于我们使用的其他服务,可以从控制台将证书导入 CellDefaultTrustStore,但是仅通过在 CellDefaultTrustStore 中将控制台上的证书导入 LDAP 通信不起作用。

是否需要特定配置才能避免使用 cacerts ?感谢您在这方面的任何帮助。

这里是建立LDAP连接的代码sn-p [变量名更新]

   Hashtable env = new Hashtable();

   env.put(DirContext.SECURITY_AUTHENTICATION, "simple");
   env.put(DirContext.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
   env.put(Context.SECURITY_PRINCIPAL, bindUserName);
   env.put(Context.SECURITY_CREDENTIALS, bindPassword);
   // this is the url with ldaps://hostname
   env.put(Context.PROVIDER_URL, url);

   DirContext dirContext = new InitialDirContext(env);

【问题讨论】:

  • LDAP 是指服务器安全设置中的注册表配置,还是您自己从应用程序代码连接到 LDAP?
  • 对,这和注册表无关。作为 Web 服务业务逻辑的一部分,我们的应用程序正在连接到一个单独的 ldap。
  • 添加一段建立 ssl 连接的代码,因为您可能正在手动覆盖一些 ssl 属性。
  • 添加了代码 sn -p ... 变量名修改

标签: ssl ldap websphere


【解决方案1】:

很遗憾,我不知道有关如何建立 LDAP 连接的详细信息。如果它转到 cacerts 文件,则表明正在使用 JSSE 默认 SSL 配置。所以关于调用的一些事情是让它转到 JSSE 默认而不使用 WebSphere 套接字工厂。

【讨论】:

  • 正确,我们基本上是在寻找一种从默认 JSSE 更改为 WebSphere 套接字工厂的方法。我们尝试将 LDAP 协议添加到动态出站端点,但它仍然只遵循 cacerts。我们有另一个应用程序以类似的方式使用 LDAP JNDI API,有趣的是它使用了 CellDefaultTrustStore。所以不确定是什么真正控制了这种行为。
  • 动态出站过滤器上的协议设置实际上是针对服务器管理员发起的事情。如果您的过滤器更改为仅包含主机名或主机名和端口,它会起作用吗?你能告诉我什么是用来访问 LDAP 的吗?就像您在上面提到的那样,我已经看到 JNDI 在 WebSphere 套接字工厂中工作得很好。
【解决方案2】:

您可能希望利用动态出站 SSL 配置。

  1. 在您的 LDAP 证书时配置信任存储。 (你可能已经有了)。
  2. 创建用于与 LDAP 通信的 SSL 配置 使用第 1 步中的信任库。
  3. 使用创建动态出站端点配置 LDAP 的主机/端口信息。参考 SSL 步骤 2 中的配置。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    相关资源
    最近更新 更多