HTTPS経由でJava Web APIに接続しようとしています。ただし、例外がスローされます。証明書をインポートした後のJava Keytoolエラー "keytool error:java.io.FileNotFoundException&Access Denied"
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
私はオンラインのkeytoolから&のSSL証明書のチュートリアルを学んだの手順に従っ:
私は、ブラウザにHTTPS URLをコピーしたSSL証明書&をダウンロードInternet Explorerを使用して、それらをブラウザにインストールしました。
は自分のコンピュータ上のパスに証明書をエクスポート
.cer
は、キーツールのインポートオプションを使用して、証明書が保存されました。以下のコマンドはエラーなしで実行されました。
入力したコマンドプロンプトでパスワードの入力を求められましたが、認証されました。
cmd
ウィンドウには、いくつかの証明書データに&署名を印刷し、私は、問題が表示された:私はyesと答えたTrust this certificate?
。
CMDプロンプトがしかし、そのメッセージの後、別の例外が表示されていた
Certificate was added to keystore
を表示:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
を最後に、私は、キーストアをチェックすると、SSL証明書が追加されませんでしたし、私のアプリケーションは、接続しようとしたときに私が以前に取得していたのと同じ例外を与えます:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
あなたが実行した正確な 'keytool'コマンドを投稿すれば出力できますか?ここで明白な問題のいくつかは、 '-keystore'引数のタイプミスであり、keytoolがキーをインポートするためにキーストアを見つけることができなかったという事実です。 – Alex
私は次のように書くつもりでした:keytool -import -alias downloadedCertAlias -keystore C:\ path \ to \ my \ keystore \ cacerts.file -file C:\ path \ of \ exportedCert.cer私はエラーなしで実行されたコマンドについても言及しましたので、これは明らかに私の質問のスペルミスです!とにかくありがとう – cyber101