小编典典

java keytool提供“未正确填充最终块”

java

根据该Jetty指南中有关使用Keytool和OpenSSL的步骤3b(最后一步),我正在执行以下命令:

keytool -importkeystore -srckeystore jetty.pkcs12 -srcstoretype PKCS12 -destkeystore keystore

当我运行命令时,我得到: keytool error: java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded

你知道如何解决吗?


阅读 215

收藏
2020-11-19

共1个答案

小编典典

就我而言,我使用下载的Windows openSSL完成了一些步骤,而其他步骤则使用了CentOs6框上已经存在的openSSL。当我在CentOs /
linux机器上执行所有步骤时,错误消失了。

次要的或许是注意linux openSSL和Godaddy,注意当您开始“创建CSR”过程时,请使用2048生成site.key,即:

openssl genrsa -des3 -out site.key 2048

-----------------更新------------------

我认为此错误与我在步骤中提出的密码问题有关。

经过一个:

openssl pkcs12 -export -inkey jetty.key -in cert-chain.txt -out jetty.pkcs12

工具提示,输入导出密码:

输入的密码必须在下一步中使用,我所做的是:

java -classpath jetty-util-6.1.19.jar:jetty-6.1.19.jar org.mortbay.jetty.security.PKCS12Import jetty.pkcs12 keystore

但是,根据本文档,该步骤显然可以等同地是:

keytool -importkeystore -srckeystore jetty.pkcs12 -srcstoretype PKCS12 -destkeystore keystore
2020-11-19