在 Java CAPS 中使用 LDAP

SSL 支持

默认情况下,系统信息库和 LDAP 服务器之间的通信没有加密。

要对系统信息库和 LDAP 服务器之间的通信进行加密,请对本主题中先前所介绍的过程进行以下添加和修改。

配置 LDAP 服务器上的 SSL

确保已将 LDAP 服务器配置为使用安全套接字层 (Secure Sockets Layer, SSL)。有关详细信息,请参见随 LDAP 服务器提供的文档。

在准备下一步时,请将 LDAP 服务器的证书导出为文件。

导入 LDAP 服务器的证书

必须将 LDAP 服务器的证书添加到系统信息库的可信证书列表中。该列表位于名为 cacerts 的文件中。

在以下过程中,您将使用 keytool 程序。此程序随 Java SDK 一起提供。

Procedure导入 LDAP 服务器的证书

  1. 导航至 JDK-install-dir/jre/bin 目录。

    使用在安装系统信息库过程中指定的 JDK。

  2. 运行以下命令:


    keytool -import -trustcacerts -alias alias -file certificate_filename 
    -keystore cacerts_filename

    对于 -alias 选项,您可以指定任何值。

    对于 -file 选项,请指定 LDAP 服务器的证书的全限定名称。例如:


    C:\mycertificate.cer

    对于 -keystore 选项,请指定 cacerts 文件的全限定名称。cacerts 文件位于 JDK-install-dir/jre/lib/security 目录中。例如:


    C:\Java\jdk1.6.0_06\jre\lib\security\cacerts
  3. 出现提示时,请输入密钥库密码。默认密码为 changeit

  4. 出现是否信任此证书的提示时,请输入 yes

    将显示以下消息:


    Certificate was added to keystore

修改 LDAP 服务器 URL

server.xml 文件的 <Realm> 元素中,按以下方式修改 LDAP 服务器的 URL:

例如:


<Realm className="org.apache.catalina.realm.JNDIRealm"
    connectionURL="ldaps://myldapserver:636"
    ...