2017-02-02 13 views
0

私は、HTTPSの背後にあるサーバー上で動作するJava Webサービスに接続するJava JARアプリケーションを持っています。 Oracle Java 1.6でJARを実行すると、SSLハンドシェイクは成功します。 sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetsun.security.validator.ValidatorException:PKIXパス構築に失敗しました。java> 1.6

私はcacertファイルに証明書をインポートしているし、ファイルへのパスを設定するには、VM変数javax.net.ssl.trustStoreを使用している:私は、OracleのJava 1.7以降でそれを実行した場合しかし、私は常に例外を取得します。

私は、異なるJavaバージョンでjsse.jarに違いがあることを発見しました。

インストールされているJavaのIBMバージョンを持っているUnixマシン上で期待されるようにまた、このアプリケーションは動作します:IBM J9 VM (build 2.7, JRE 1.7.0

そして、それはWidnows上のIBM JREで正しく動作:

IBM J9 VM (build 2.8, JRE 1.8.0) 

私は何ができますこれを修正するには?

答えて

0

私はこれを解決しました! Javaのjava.securityファイルはjre/lib/securityフォルダにあり、そのファイルのプロパティはkeystore.typeです。このプロパティはWindows-ROOTに設定されていましたが、cacertsファイルに証明書をインポートしました。プロパティがjksに設定されているため、Javaでcacertsファイルが読み取られます。

関連する問題