OpenSSL
可以很方便地从.p12
(PKCS#12
)文件中提取公钥、私钥和证书,并以适当的格式保存它们,方便进一步使用。
提取私钥
- 从
.p12
文件中提取私钥,并将其保存到一个 .key 文件中
openssl pkcs12 -in yourfile.p12 -nocerts -nodes -out
-
-in yourfile.p12
: 指定要提取的 .p12 文件。 -
-nocerts
: 不提取证书,仅提取私钥。 -
-nodes
: 私钥不进行加密(即无密码保护)。 -
-out
: 输出私钥到 文件。
提取公钥
- 提取私钥之后,可以通过私钥提取公钥
openssl rsa -in -pubout -out
-
-in
: 指定刚才提取的私钥文件。 -
-pubout
: 表示提取公钥。 -
-out
: 输出公钥到 文件。
提取证书
- 从 .p12 文件中提取证书,并将其保存到一个 .crt 文件中
openssl pkcs12 -in yourfile.p12 -clcerts -nokeys -out
-
-clcerts
: 仅提取用户证书,不包括 CA 证书。 -
-nokeys
: 不提取私钥。 -
-out
: 输出证书到 文件。
提取 CA 证书
- 如果 .p12 文件中包含 CA 证书,可以使用以下命令提取 CA 证书
openssl pkcs12 -in yourfile.p12 -cacerts -nokeys -chain -out
-
-cacerts
: 仅提取 CA 证书。 -
-chain
: 包括整个证书链。 -
-nokeys
: 不提取私钥。 -
-out
: 输出 CA 证书到 文件。
总结
-
私钥
:用openssl pkcs12 -nocerts -nodes
提取并保存。 -
公钥
:先提取私钥,然后用openssl rsa -pubout
提取公钥。 -
证书
:用openssl pkcs12 -clcerts -nokeys
提取并保存。