2011-10-25 14 views
0

Oracle Databaseの資格情報を再度確認するために、TomcatにJDBCRealmを実装しようとしています(http://tomcat.apache.org/tomcat-4.1-doc/realm-howto.html#Configuring%20a%20Realmの説明を参照)。問題は、データベースがSSLを介して通信したいということです。そこで、リスナーをTCPSを使用するように構成しました。そのように:などSSLを介したOracleデータベースを使用するTomcat JDBCRealm(PROTOCOL = TCPS)

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<hostname>)(PORT=1521)))<br> 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=<hostname>)(PORT=1512))) 

生成された証明書、私は(私は何の問題もなくそこに接続プロパティoracle.net.ssl_cipher_suites=(SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,SSL_DH_anon_WITH_RC4_128_MD5,SSL_DH_anon_WITH_DES_CBC_SHA)を使用することができます)SQLPLUSからか、WLSからTCPSを使用してデータベースに接続している問題はありません。

しかし、私はTCPRを介してデータベースと連携するためにJDBCRealmを取得できません。私はこのような領域を設定した場合:
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99" driverName="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = <hostname>)(PORT = 1512)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <service name>)))" connectionName="<login>" connectionPassword="<password>" userTable="users" userNameCol="user_name" userCredCol="user_pass" userRoleTable="user_roles" roleNameCol="role_name" />
私は次のエラーを取得しています:

付:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

は、私はこのようにTomcatで構成されたJKSストア内の証明書をインポート失敗。

私はTomcatの専門家ではありません。私は助けを感謝するか、正しい方向に私を指差します。前もって感謝します!

答えて

0

エラーは、SSL証明書が信頼されていないことを示しているようです。

私はあなたが実際にあなたの信頼ストアに証明書を持っている(トラストストアのコンテンツを一覧表示するにはJDKのコマンドラインツールがあり、あなたはそれをGoogleにすることができます)、その後、Tomcatの起動スクリプトで次のパラメータを追加していることを確認することをお勧め:

javax.net.ssl.trustStore=<path to trust store> 
+0

ありがとう、それは私にとって大きな飛躍でした:)今私は次のエラーが発生しています: 'java.sql.SQLRecoverableException:IOエラー:ネットワークアダプタが接続を確立できませんでしたoracle.net.ns.NetException:Unable to SSLコンテキストを初期化します。 oracle.net.ns.NetException:トラスト・ストアを初期化できません。 java.io.IOException:キーストアが改ざんされたか、パスワードが間違っていたjava.security.UnrecoverableKeyException:パスワードの検証に失敗しました。ただし、catalina.shのtrustoreのパスワードが正しいです。-Djavax.net.ssl.trustStore = -Djavax.net .ssl.keyStorePassword = ' – Juris

+0

多くの助けになりました!単にjavax.net.ssl.trustStorePassword = を追加する必要がありました。誤って以前の投稿にkeyStoreが追加されました。再度、感謝します! – Juris

+0

うれしかったです。 :) – maximdim

関連する問題