如何使用sha512创建pkcs12证书

时间:2015-08-21 08:51:21

标签: ssl openssl

我正在创建这样的证书:

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -key rootCA.key -sha512 -days 36501 -out rootCA.pem \
-extensions v3_req 

openssl genrsa -out client1.key 2048
openssl req -new -key client1.key -sha512 -days 36500 -out client1.csr \
-extensions v3_req 

openssl x509 -req -days 36500 -CA rootCA.pem -CAkey rootCA.key \
-CAcreateserial -CAserial serial -in client1.csr -out client1.pem

openssl verify -verbose -CAfile rootCA.pem client1.pem

openssl pkcs12 -export -in client1.pem -inkey client1.key -out client1.p12 -name "client1"

我希望.p12证书使用sha512算法。我想将选项-sha512添加到转换(最后一行),但似乎pkcs12没有得到这个选项。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

PKCS#12支持以下用于私钥加密的加密算法。

  • 带有SHA1的128位RC4
  • 带有SHA1的40位RC4
  • 带有SHA1(168位)的3键三重DES
  • 带有SHA1(112位)的2键三重DES
  • 带有SHA1的128位RC2
  • 带有SHA1的40位RC2

默认情况下使用3键三重DES,因此如果您愿意,则无​​需提供-des3。

您可以使用以下命令从生成的pkcs12文件输出一些信息:

openssl pkcs12 -in client1.p12 -noout -info

作为旁注,当您生成x509客户端证书时,如果要使用sha-512散列函数,则需要提供-sha512参数。

验证是否实际使用了sha512哈希函数:

openssl x509 -in client1.pem -noout -text

如果没有,则使用-sha512

重新创建它
openssl x509 -sha512 -req -days 36500 -CA rootCA.pem -CAkey rootCA.key \
-CAcreateserial -CAserial serial -in client1.csr -out client1.pem