2个Tomcat服务器之间的SSL

时间:2012-11-06 08:47:29

标签: tomcat liferay cas

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

也许你们可以帮忙吗?

感谢。

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

1 个答案:

答案 0 :(得分:1)

对于自签名证书,您应在server.xml中指定SSL-connector的属性“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”。没有必要在server.xml中的<connector />标记中指定默认密码。