OpenSSL
可以很方便地从.p12
(PKCS#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
提取并保存。