2012-04-26 11 views
16

私は、このコマンドを使用してJava JKSキーストアに標準PKCS#12(.P12)キーストアを変換しようとしています:keytoolエラー "安全なコンテンツのエントリの復号化に失敗しました"が原因ですか?

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore keystore.jks

それはで失敗している:

keytool error: java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded 

ドゥあなたはこの問題をどのように解決するか考えていますか?

+2

それはあなたのPCKSのような#12キーストアが破損して見えます。あなたは 'openssl pkcs12 ...'でそれを確認できますか? – EJP

答えて

6

実際にpkcs12キーストアが破損していました。

4

これまでにこれまで試みたことはありませんが、Google hereの手順が見つかりました。

このthreadも同様の質問をします。ここでは(コメントに基づく)

EDIT

は、リンク参照の完全な内容です:JKSへ

PFX/P12(Javaキーストア)

質問:私はどのように証明書をIIS/PFX(.p12ファイル)からJKS(Java KeyStore)に移動しますか?

回答:のkeytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype PKCS12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype JKS -deststorepass PASSWORD -destalias ALIAS_NAME

注: srcaliasを見つけるには、リスト

keytool -v -list -storetype pkcs12 -keystore PFX_P12_FILE> FILENAME.TXTこれは、コマンドの出力をFILENAME.TXTという名前のファイルに書き込みます。

25

時々、このエラーは、p12キーに間違ったパスワードを使用することの徴候です。

+0

pkcs12キーストアタイプは、キーパスとストアパスを区別しません。だから私の場合、私はちょうどキーを取得するときにstorepass(とkeypass)を使用しなければならなかった... – Lonzak

1

私はJKSからPKCS12に秘密キーをエクスポートするために(反対のあなたに)このコマンドをした:

のkeytool -importkeystore -srckeystore DemoIdentity.jks -srcstoretype JKS -destkeystore demoidentity.p12 -deststoretype PKCS12

上記のコマンドがパスワードを受け入れて、一見正しくファイルを生成したにもかかわらず、冗長な "-srcstoretype JKS"を残しておけば、生成されたdemoidentity.p12ファイルでkeytoolの詳細を表示しようとしたときに同じエラーが表示されました。

keystore.p12を生成するときに、おそらくあなたは何か似たようなことをしました。

2

今日は同じ問題が発生しました(BadPaddingException)。 keytoolはパスワードの中の特定の文字に問題があったようです。パスワードを二重引用符で囲んで解決しました。

のkeytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype PKCS12 -srcstorepass "PFX_P12_FILE" -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype JKS -deststorepass "PASSWORD" -destalias ALIAS_NAME

関連する問題