2012-04-26 18 views
16

我想12(或.p12)密鑰存儲轉換爲標準的PKCS#到Java JKS密鑰存儲用這個命令:什麼導致keytool錯誤「解密安全內容條目失敗」?

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

務必:

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

它與失敗你有任何想法如何解決這個問題?

+2

它看起來像你的PCKS#12密鑰庫已損壞。你可以使用'openssl pkcs12 ...'來驗證它嗎? – EJP 2012-04-27 00:18:53

回答

6

確實pkcs12密鑰庫已損壞。

4

我從來沒有嘗試過這樣做,但我確實在google here上找到了指示。

thread問一個類似的問題。

EDIT(對基於註釋)

這裏是鏈接參考的全部內容:

PFX/P12到JKS(Java密鑰庫)

問:我如何將證書從IIS/PFX(.p12文件)移動到JKS(Java KeyStore)?

答:密鑰工具-importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype PKCS12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype JKS -deststorepass密碼-destalias ALIAS_NAME

注:要找到srcalias,列出PFX/P12文件的內容:

keytool -v -list -storetype pkcs12 -keystore PFX_P12_FILE> FILENAME.TXT將命令的輸出寫入名爲FILENAME.TXT的文件。

25

有時,此錯誤是使用不正確的密碼爲p12鍵的症狀。

+0

pkcs12密鑰庫類型不區分keypass和storepass。所以在我的情況下,我只需要在檢索密鑰時使用storepass(而不是keypass)...... – Lonzak 2016-10-13 08:23:17

1

我做這個命令(相對於你的)的私有密鑰從JKS導出到PKCS12:

密鑰工具-importkeystore -srckeystore DemoIdentity.jks -srcstoretype JKS -destkeystore demoidentity.p12 -deststoretype PKCS12

如果我放棄了看起來多餘的「-srcstoretype JKS」,即使上面的命令接受了密碼並生成了一個看似正確的文件,我試圖列出keytool中的詳細信息時,生成的demoidentity.p12文件也給了我相同的錯誤!

對於你的問題,也許你在生成keystore.p12時做了類似的事情。

2

今天我有同樣的問題(BadPaddingException)。看來keytool對密碼中的某些字符有問題。我通過在密碼周圍添加雙引號來解決它。

密鑰工具-importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype PKCS12 -srcstorepass 「PFX_P12_FILE」 -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype JKS -deststorepass 「密碼」 -destalias ALIAS_NAME

相關問題