在这里尝试查看是否有人使用rundeck对AD进行了LDAP身份验证。我正在为rundesk使用JRE运行方法。以下是我到目前为止所做的事情:
获得证书后。添加证书有两种选择。第一个涉及更新JRE的信任库。如果这不可能或不可取,则可以使用包含相应证书的任意任意信任库来设置jvm使用的信任库。
这两个选项都需要导入证书。以下内容将名为AD.cert的证书导入/ etc / rundeck / ssl / truststore。
keytool -import -alias CompanyAD -file AD.cert -keystore / etc / rundeck / ssl / truststore -storepass adminadmin
要将证书添加到JRE,请找到文件$ JAVA_HOME / lib / security / cacerts并运行
keytool -import -alias CompanyAD -file AD.cert -keystore $ JAVA_HOME / lib / security / cacerts -storepass changeit
要验证您的CA已添加,请运行keytool list并在输出中查找CompanyAD。
keytool -list -keystore $ JAVA_HOME / lib / security / cacerts -storepass changeit
这是我遇到问题的地方。我已将证书导入$JAVA_HOME/lib/security/cacerts
下的java信任库。 ssl.properties文件还要求keystore, keystore.password, key.password
个参数。现在,我应该创建一个新的密钥库或省略这些并只使用信任库变量?
我还尝试创建一个新的密钥库(.jks)并将相同的ssl证书导入到它设置keypass和storepass。这没有用。我收到错误java.io.IOException: Keystore was tampered with, or password was incorrect
我正在使用 - java -Dloginmodule.conf.name=jaas-ldap.conf -Dloginmodule.name=ldap -Drundeck.ssl.config=ssl.properties -jar rundeck-launcher-2.6.4.jar
我很感激通过这个帮助。
答案 0 :(得分:0)
无需向管理员询问ssl证书。如果您的组织使用ldaps
并且ldap
服务器上安装的证书是自签名证书(不在您的密钥库中),则需要将证书添加到JVM
密钥库。现在获取该证书运行以下查询
openssl s_client -connect <ldapserver>:636
这将为-----BEGIN CERTIFICATE-----
和---------END CERTIFICATE--------
提供一些输出。将这些字符串之间的文本复制到文件ldap.cert
。
keytool -import -alias CompanyAD -file ldap.cert -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit
。
如果您的密钥库被篡改,则可能需要在系统中重新安装Java。