openssl从p12提取公钥、私钥和证书

OpenSSL 可以很方便地从.p12PKCS#12)文件中提取公钥、私钥和证书,并以适当的格式保存它们,方便进一步使用。

提取私钥

  • .p12 文件中提取私钥,并将其保存到一个 .key 文件中
openssl pkcs12 -in yourfile.p12 -nocerts -nodes -out private.key
  • -in yourfile.p12: 指定要提取的 .p12 文件。
  • -nocerts: 不提取证书,仅提取私钥。
  • -nodes: 私钥不进行加密(即无密码保护)。
  • -out private.key: 输出私钥到 private.key 文件。

提取公钥

  • 提取私钥之后,可以通过私钥提取公钥
openssl rsa -in private.key -pubout -out public.key
  • -in private.key: 指定刚才提取的私钥文件。
  • -pubout: 表示提取公钥。
  • -out public.key: 输出公钥到 public.key 文件。

提取证书

  • 从 .p12 文件中提取证书,并将其保存到一个 .crt 文件中
openssl pkcs12 -in yourfile.p12 -clcerts -nokeys -out certificate.crt
  • -clcerts: 仅提取用户证书,不包括 CA 证书。
  • -nokeys: 不提取私钥。
  • -out certificate.crt: 输出证书到 certificate.crt 文件。

提取 CA 证书

  • 如果 .p12 文件中包含 CA 证书,可以使用以下命令提取 CA 证书
openssl pkcs12 -in yourfile.p12 -cacerts -nokeys -chain -out ca-certificates.crt
  • -cacerts: 仅提取 CA 证书。
  • -chain: 包括整个证书链。
  • -nokeys: 不提取私钥。
  • -out ca-certificates.crt: 输出 CA 证书到 ca-certificates.crt 文件。

总结

  • 私钥:用 openssl pkcs12 -nocerts -nodes 提取并保存。
  • 公钥:先提取私钥,然后用 openssl rsa -pubout 提取公钥。
  • 证书:用 openssl pkcs12 -clcerts -nokeys 提取并保存。

你可能感兴趣的:(网络协议,openssl,证书,经验分享,bash,linux,tcp/ip)