使用openssl提取微信api密钥的 公钥和私钥

微信api证书是p12文件,里面包含了公钥证书和私钥证书,如果想提取公钥证书和私钥证书,使用下面命令: 微信api证书文件名称为:apiclient_cert.p12    此证书密码为:XXXYYY 提取公钥使用下...

微信api证书是p12文件,里面包含了公钥证书和私钥证书,如果想提取公钥证书和私钥证书,使用下面命令:

微信api证书文件名称为:apiclient_cert.p12    此证书密码为:XXXYYY

提取公钥使用下面命令:

1,openssl pkcs12 -in apiclient_cert.p12 -out public_certificate.pem -clcerts -nokeys -passin pass:XXXYYY

从p12文件提取私钥文件

2,openssl pkcs12 -in apiclient_cert.p12 -out private_key.key -nocerts -nodes -passin pass:XXXYYY


详细说明

  • -in piclient_cert.p12: 指定输入的 .p12 文件。
  • -out public_certificate.pem: 指定输出的公钥证书文件名。
  • -clcerts: 只导出客户端证书。
  • -nokeys: 不导出私钥。
  • -passin pass:your_password: 指定 .p12 文件的密码。请将 your_password 替换为实际的密码。
  • -out private_key.key: 指定输出的私钥文件名。
  • -nocerts: 不导出证书。
  • -nodes: 不加密私钥。

步骤 1: 如果要把两个文件c1.pem和c1.key 合并成一个.p12文件可以使用如下命令

合并 c1.pem 和 c1.key 文件为 .p12 文件

打开终端或命令提示符,并执行以下命令:

1openssl pkcs12 -export -in c1.pem -inkey c1.key -out combined.p12 -name "combined" -CAfile ca_certificate.pem -caname "root"

参数说明

  • -export: 指定导出 PKCS#12 文件。
  • -in public_certificate.pem: 指定输入的公钥证书文件。
  • -inkey private_key.key: 指定输入的私钥文件。
  • -out combined.p12: 指定输出的 .p12 文件名。
  • -name "combined": 指定 PKCS#12 文件中的友好名称(可选)。
  • -CAfile ca_certificate.pem: 如果有 CA 证书,可以指定 CA 证书文件(可选)。
  • -caname "root": 如果有 CA 证书,可以指定 CA 证书的名称(可选)。

示例

假设你的公钥证书文件名为 public_certificate.pem,私钥文件名为 private_key.key,并且不需要 CA 证书,那么完整的命令如下:

openssl pkcs12 -export -in public_certificate.pem -inkey private_key.key -out combined.p12 -name "combined"

执行命令

在终端中运行上述命令后,系统会提示你设置一个新的密码来保护生成的 .p12 文件。这个密码是用于加密 .p12 文件的,确保你记住它。

完整示例

openssl pkcs12 -export -in public_certificate.pem -inkey private_key.key -out combined.p12 -name "combined"

注意事项

  • 确保在命令中正确替换文件名。
  • 在命令行中输入密码时,不会显示任何字符,这是正常的安全措施。

这样,你就可以将 .pem 和 .key 文件合并成一个 .p12 文件了。生成的 combined.p12 文件包含了你的公钥证书和私钥,并且是受密码保护的。

  • 发表于 2024-11-29 12:24
  • 阅读 ( 30 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
shitian
shitian

662 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章