0

現在、2 つの Tomcat を構成しようとしています。1 つは CAS で、もう 1 つは Liferay です。OpenSSL を使用して CAS サーバー用の証明書を作成しました。この証明書は、Liferay がブラウザーの CAS ページ ログインにリダイレクトしたときに表示されますが、CAS が私を Liferay にリダイレクトしたときに表示されます (Liferay が CAS が作成したチケットを検証しようとしたとき)。 )、素晴らしい白いページしか表示されず、Liferay サーバーに「要求されたターゲットへの有効な証明書パスが見つかりません」と表示されます。keytool を使用して証明書を作成するか、Liferay に渡されたカスタム トラストストアに証明書を追加しようとしましたが、すべて失敗し続けます。

多分あなたたちは助けることができますか?

ありがとう。

更新:wireshark で SSL トラフィックを調べたところ、liferay は CAS チケットの検証に ssl を使用していないようです。これは、トラストストアが 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 に答える