步骤我制作密钥:
创建私钥
openssl genrsa -des3 -out client.key 2048
生成自签名证书
openssl req -key client.key -new -x509 -days 365 -out client.crt -subj "/C=xxx/ST=yyy/L=zzz/O=aaa/CN=localhost"
将PEM转换为PKCS12
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
使用Java Keytool将PKCS12 openssl密钥库转换为JKS密钥库
keytool -importkeystore -destkeystore client_keystore.jks -deststoretype jks -deststorepass 1234567abc -srckeystore client.p12 -srcstoretype pkcs12 -srcstorepass 1234567abc
我收到了错误:
keytool error: java.io.IOException: failed to decrypt safe contents entry:
javax.crypto.BadPaddingException: Given final block not properly padded
如何修复它,我哪里错了?
答案 0 :(得分:1)
一个问题是并非所有PCKS12提供商都完全兼容100%。我遇到了同样的错误,我能够通过将srcstoretype从'PKCS12'更改为'BCPKCS12'来修复它
这可能有所帮助:https://cryptosense.com/bouncycastle-keystore-security/
答案 1 :(得分:0)
-srcstorepass 1234567abc
创建PKCS#12文件时未指定密码。 你是从哪里得到的?
您可以使用keytool -genkey
选项作为一行进行整个过程。