Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
openssl pkcs12-节点还是-clcerts-无密钥?_Ssl_Openssl - Fatal编程技术网

openssl pkcs12-节点还是-clcerts-无密钥?

openssl pkcs12-节点还是-clcerts-无密钥?,ssl,openssl,Ssl,Openssl,我正在尝试从pkcs12信任存储导出公共证书。信任存储不包含私钥。它只包含公共证书(例如,在客户端用作委托人) 我试过: openssl pkcs12 \ -in /home/user/certs/truststore.pkcs12 \ -out /home/user/certs/capath/ca.cert.pem \ -nodes 这似乎很管用。ca.cert.pem的内容如下所示: Bag Attributes friendlyName: x.x.x ......: &

我正在尝试从pkcs12信任存储导出公共证书。信任存储不包含私钥。它只包含公共证书(例如,在客户端用作委托人)

我试过:

openssl pkcs12 \
-in  /home/user/certs/truststore.pkcs12 \
-out /home/user/certs/capath/ca.cert.pem \
-nodes
这似乎很管用。
ca.cert.pem
的内容如下所示:

Bag Attributes
    friendlyName: x.x.x
    ......: <Unsupported tag 6>
subject=...

issuer=...

-----BEGIN CERTIFICATE-----
MIIEaTCCA1GgAwIBAgILBAAAAAABRE7wQkcwDQYJKoZIhvcNAQELBQAwVzELMAkG
...
K1pp74P1S8SqtCr4fKGxhZSM9AyHDPSsQPhZSZg=
-----END CERTIFICATE-----
Bag Attributes
    friendlyName: y.y.y
    ....... <Unsupported tag 6>
subject=...

issuer=....

-----BEGIN CERTIFICATE-----
MIIGiDCCBXCgAwIBAgIMXYEkb13q+Kq7F8oaMA0GCSqGSIb3DQEBCwUAMFAxCzAJ
...
2W0U+HwiE1gsiD2f+qLpEnEHdMhvT8vWE4WueqaV71eYg3Yi7jYENmmZzQ0=
-----END CERTIFICATE-----
生成的
ca.cert.other.pem
文件只是空的


这是因为后一种方法假设信任库包含私钥吗?

这很有趣。这是因为
-clcerts
仅输出客户端证书,而pkcs12具有服务器证书。试图找出这两种类型之间的区别。
openssl pkcs12 \
-in  /home/user/certs/truststore.pkcs12 \
-out /home/user/certs/capath/ca.cert.another.pem \
-clcerts \
-nokeys