SSL接続に自己署名入りの署名を使用したいと思います。私はthisの投稿に従っています。BouncyCastleProviderのKeyStore:KeyStoreの整合性チェックに失敗しました
私の問題:キーストアを作成した後、私の整合性チェックに失敗します。
Keytool-Error: java.io.IOException: KeyStore integrity check failed.
私はまだ検索していますが、誰かが私にしばらく時間を節約できます。
SSL接続に自己署名入りの署名を使用したいと思います。私はthisの投稿に従っています。BouncyCastleProviderのKeyStore:KeyStoreの整合性チェックに失敗しました
私の問題:キーストアを作成した後、私の整合性チェックに失敗します。
Keytool-Error: java.io.IOException: KeyStore integrity check failed.
私はまだ検索していますが、誰かが私にしばらく時間を節約できます。
正しいパスワードを使用してキーストアを開いていることを確認してください。私はあなたのキーストアファイルを確認し、私はまだtrusted.load()
私はローカルに保存KeyStore
ファイルと2つの理由を開こうとしましたが、同じ問題が頭に浮かぶた:
KeyStore
を格納し、異なるパスワードを使用して、それをロードしています。KeyStore
ファイルが破損し、完全性チェックにどのようにフラグが設定されているか。私はあなたが同じパスワード(固定)で別のファイルをロードして読み込み、正常に読み込まれるかどうかを確認することをお勧めします。
にサンプルコードからパスワードを使用していたこのエラーを持つと判明したが、私は別のを発見した適切FileOutputStream.close()
を使用して閉じているか、それが整合性
を失ったとしてマークされますこのメッセージを誘発する可能性のあるコーナーケース。
openssl
でPKCS12キーストアをエクスポートしてから、keytool
で既存のキーストアにインポートしようとしました。 PKCS12キーストアの内容をリストしたときにパスワードが良好であっても、この手順で「整合性チェックに失敗しました」というエラーが表示されました。
問題は、パスワードを50文字ほど正確に使用していたためです。これはopenssl
で受け付けていますが、これは使用されるバッファの最大サイズであり、パスワードの最後の文字は「文字列の末尾」文字で上書きされることを理解しています。
49文字のパスワードでPKCS12キーストアを再度エクスポートすると、問題が解決しました。
Mac OSにどこに保存されているのか教えていただけますか? – Hunt
@ハント:何ですか? –
KeyStore、私はそれがアンドロイドの携帯電話または他のどこかにストアを取得することを知っていません – Hunt