1

首先,我在 Tomcat 上配置 HTTPS 并配置身份验证页面。我的身份验证页面在 HTTPS 中与 Tomcat-users.xml 中的用户一起工作

<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 我配置一个领域

<领域类名="org.apache.catalina.realm.JNDIRealm"

connectionURL="ldaps://XXXXXXX:636" debug="99"
connectionName="MY_USER"
connectionPassword="MY PASSWORD"
userbase="MY_BASE"
userSearch="XXXXXXXXXXXX"
userSubtree="true"
roleBase="XXXXXXXXXXX"
roleSubtree="真" 角色名=
"XXXXX"
角色搜索="XXXXXX"

/>



我使用命令 keytool 导入我的证书。

keytool -import -file om_certificat.pem -keystore cacerts

我应该做点别的吗?

当我启动 tomcat 时,我有这个警告: SSLHandshakeException

我这样做了,但不起作用!我认为,我的 reaml 是正确的,当我执行命令“keytool”时,我收到一条消息“证书已添加”。

那么,我的问题在哪里?我忘了一步?

4

2 回答 2

2

如果您真的与您的 LDAP 证书建立了“信任”关系(例如,将其导入本地密钥库),我经常看到的一个问题是它被导入到实际上根本没有使用的密钥库中。

仔细检查(如果三重检查失败)您导入到哪个 cacerts 文件以及 tomcat 使用哪个文件)

编辑:通过快速检查,他们说,您必须使用 java 的默认密钥库来进行 LDAP 信任(随处可见的通用文档是用于 SSL/HTTPS 设置)。确保这一点的最简单方法(您可能已经在计算机上安装了所有不同的 java 版本)是找到您的所有cacerts文件并一一导入您的 LDAP 证书,然后重新启动(至少它是我最容易在没有实际帮助的情况下指出)

您可能还想检查Imported certificate to Java keystore,JVM 忽略新证书以获得更多想法

于 2013-04-08T09:21:57.083 回答
0

我解决了我的问题。

我在我的 JVM 64 位上添加了我的证书,但我的 %JAVA_HOME% 配置为我的 32 位版本。

于 2013-04-09T13:47:04.870 回答