首页 文章

如何使用Java Keytool将PKCS12 openssl密钥库转换为JKS密钥库

提问于
浏览
0

我做的关键步骤:

  • 创建私钥
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

如何修复它,我哪里错了?

2 回答

  • 0

    一个问题是并非所有PCKS12提供商都完全兼容100% . 我遇到了同样的错误,我可以通过将srcstoretype从'PKCS12'更改为'BCPKCS12'来修复它

    这可能会有所帮助:https://cryptosense.com/bouncycastle-keystore-security/

  • 1
    -srcstorepass 1234567abc
    

    创建PKCS#12文件时未指定密码 . 你是从哪里得到的?

    您可以使用 keytool -genkey 选项作为单行执行整个过程 .

相关问题