最近、不安定な SSL 証明書パスの検証を検出しました。
Ubuntu 12.04 LTS (GNU/Linux 3.2.0-26-generic x86_64)
OpenJDK ランタイム環境 (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.12.04.1)
OpenJDK 64 ビット サーバー VM (ビルド 20.0-b12、ミックスモード)
と
Ubuntu 10.04.1 LTS
OpenJDK ランタイム環境 (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.10.04.1)
OpenJDK サーバー VM (ビルド 20.0-b12、混合モード)
オンライン バンキング ホストへの SSL 接続に関する次のエラーで始まります。
sun.security.validator.ValidatorException: PKIX path validation failed:
java.security.cert.CertPathValidatorException:
Path does not chain with any of the trust anchors
ルート証明書が常にキーストアに含まれているかどうかを確認しました... (Baltimore CyberTrust Root) でした。送信されたデータの MD5 および SHA1 フィンガープリントを、ブラウザの認証情報ダイアログで表示されたデータで再確認しました... 同じです! その後、SSL通信用の小さなユーティリティであるSSLPokeを見つけ、それを後続のリクエストに使用しました:
java -Djavax.net.debug=ssl SSLPoke hbci-pintan.gad.de 443
そして、これは不安定さを示しています: 10 件のリクエストのうち約 8 件が上記のエラーで失敗し、10 件中 2 件が成功しました。リクエストが失敗するたびに、Mac OS X 10.7.5 Java バージョン「1.6.0_35」と Java(TM) SE ランタイム環境 (ビルド 1.6.0_35-b10-428-11M3811)、Java HotSpot で同じリクエストをすぐに送信しました。 (TM) 64 ビット サーバー VM (ビルド 20.10-b01-428、混合モード)。これらの要求はすべて成功しました。そのため、このような SSL 証明書パスの検証は、OpenJDK では不安定なようです。
似たような経験をした人はいますか?
よろしく
ドミニク