0

我目前正在尝试配置 2 个 Tomcat,一个带有 CAS,另一个带有 Liferay。我已经使用 OpenSSL 为 CAS 服务器创建了一个证书,当 Liferay 将我重定向到浏览器中的 CAS 页面登录时会显示该证书,但是当 CAS 将我重定向回 Liferay 时(当 Liferay 尝试验证 CAS 创建的票证时) ),我只得到一个漂亮的白页,Liferay 服务器显示“无法找到请求目标的有效认证路径”。我尝试使用 keytool 创建证书,或者将其添加到传递给 Liferay 的自定义信任库中,但一切都让我失望。

也许你们可以帮忙?

谢谢。

更新:我用wireshark查看了SSL流量,似乎liferay不使用ssl来验证CAS票证,这解释了为什么它可以验证证书,因为信任库是在SSL连接器中定义的......但我没有知道如何解决

4

1 回答 1

1

对于自签名证书,您应该在 server.xml 中指定 SSL 连接器的属性“truststoreFile”:

<Connector port="8443" sslProtocol="TLS" scheme="https" clientAuth="false" 
...
keystoreFile="tomcat.keystore" keystorePass="password" keyAlias="tomcat"

<!-- Here's attribute "truststoreFile" -->
truststoreFile="%JAVA_HOME%/jre/lib/security/cacerts"
... />

尝试使用位于“%JAVA_HOME%/jre/lib/security/cacerts”中的通用信任库文件。您应该使用 keytool 命令将您的证书导入该信任库文件:

keytool -import -file tomcat.crt -alias tomcat -keystore %JAVA_HOME%/jre/lib/security/cacerts

默认密码是“changeit”。不必<connector />在 server.xml 的标签中指定默认密码。

于 2012-11-06T10:12:06.797 回答