2013-04-08 300 views
1

首先,我在Tomcat上配置HTTPS,並配置身份驗證頁面。 在HTTPS我的認證頁面的工作,在Tomcat的users.xml中如何在Tomcat上配置LDAPS身份驗證7

<form action="j_security_check" method="POST"> 
     Username:<input type="text" name="j_username"><br> 
     Password:<input type="password" name="j_password"> 
     <input type="submit" value="Login"> 
</form> 

的用戶在server.xml中我配置的境界

<領域的className =「org.apache.catalina.realm。 JNDIRealm」

的ConnectionURL = 「LDAPS:// XXXXXXX:636」 調試= 「99」
的connectionName = 「MY_USER」
connectionPassword = 「MY PASSWORD」
用戶羣= 「MY_BASE」
userSearch = 「XXXXXXXXXXXX」
userSubtree = 「真」
roleBase = 「XXXXXXXXXXX」
roleSubtree = 「真」
ROLENAME = 「XXXXX」
roleSearch = 「XXXXXX」

/>



導入我用命令的keytool證書。

的keytool -import -file om_certificat.pem -keystore cacerts的

我應該做點別的?

當我啓動tomcat,我有這樣的警告: SSLHandshakeException

我這樣做,但不工作! 我認爲,我的確認是正確的,當我執行命令「keytool」時,我收到一條消息「證書已添加」。

那麼,我的問題?我忘了一步?

回答

0

我解決我的問題。

我在我的JVM 64位上添加了我的證書,但我的%JAVA_HOME%配置爲我的32位版本。

1

如果您確實與您的LDAP證書建立了「信任」關係(例如,將其導入到本地密鑰庫),我通常會看到的一個問題是,它導入到根本不用的密鑰庫中。

仔細檢查(如果失敗了三重校驗),它cacerts文件導入到,哪一個是Tomcat使用)

編輯:通過快速檢查,here他們說,你必須使用Java的默認密鑰庫對於LDAP信任(您可以在任何地方找到的常見文檔是用於SSL/HTTPS設置)。確保這一點的最簡單方法是將的所有文件都放在cacerts的文件上,並逐個導入您的LDAP證書,然後重新啓動(在您的計算機上安裝的所有不同的java版本)至少這是最簡單,我要指出沒有實際幫助你)

您還可能要檢查Imported certificate to Java keystore, JVM ignores the new cert一些更多的想法

+0

感謝您的回答。 我該如何檢查? – 2013-04-08 09:34:54