OpenDJ从LDAP切换至LDAPS遇连接处理启用失败及证书问题求助
问题解决方案
原问题:启用LDAPS时提示信任管理器Provider禁用
你只启用了Key Manager Provider,但LDAPS连接同时依赖Trust Manager Provider,执行以下命令启用JKS类型的Trust Manager Provider:
dsconfig set-trust-manager-provider-prop --hostname <Hostname> --port 4444 --bindDN "cn=Manager" --bindPassword <password> --provider-name JKS --set enabled:true --set trust-store-file D:\Java\lib\security\jssecacerts --set trust-store-pin:<keystore-password> --trustAll --no-prompt
完成后重新执行启用LDAPS连接处理器的命令即可。
新问题:重装后提示证书别名找不到
出现这个错误的常见原因及解决步骤:
核对密钥库路径配置
重装后OpenDJ可能默认使用自身目录下的密钥库(比如<OpenDJ安装目录>/config/keystore),而非系统的jssecacerts。先检查LDAPS连接处理器关联的密钥管理器配置:dsconfig get-connection-handler-prop --hostname <Hostname> --port 4444 --bindDN "cn=Manager" --bindPassword <password> --handler-name "LDAPS Connection Handler" --property key-manager-provider --trustAll --no-prompt再查看对应Key Manager Provider的密钥库路径:
dsconfig get-key-manager-provider-prop --hostname <Hostname> --port 4444 --bindDN "cn=Manager" --bindPassword <password> --provider-name JKS --property key-store-file --trustAll --no-prompt如果路径和你存放证书的位置不符,重新设置Key Manager Provider的密钥库路径。
确认证书别名的准确性
证书别名区分大小写,执行以下命令列出密钥库内所有别名,核对是否与配置一致:keytool -list -keystore <你的密钥库路径> -storepass <密码>若别名不匹配,修改LDAPS连接处理器的证书别名配置:
dsconfig set-connection-handler-prop --hostname <Hostname> --port 4444 --bindDN "cn=Manager" --bindPassword <password> --handler-name "LDAPS Connection Handler" --set ssl-cert-nickname:<正确的证书别名> --trustAll --no-prompt确保证书导入到正确的密钥库
如果你使用OpenDJ默认密钥库,需要将证书导入其中,而非仅放在系统jssecacerts:keytool -importcert -alias <别名> -file <证书文件路径> -keystore <OpenDJ密钥库路径> -storepass <密码>
内容的提问来源于stack exchange,提问作者Szpak
相关产品推荐
相关产品推荐

