所以我有一个 pem 格式 ( mycert.pem
) 的证书,我只需要从中提取公钥。
openssl x509 -in mycert.pem -pubkey -noout
给我一个公钥。但是,它似乎是整个主题公钥信息的 base64 编码字符串。
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub:
04:6e:af:3c:7d:4c:a3:1a:81:f0:ae:14:45:16:67:
38:5b:09:4d:9e:55:f8:e2:f2:ba:e4:55:28:f6:31:
d8:25:c3:2d:f9:a2:d5:62:ba:eb:17:5f:1d:ad:99:
50:e4:a6:bd:eb:9b:44:18:0f:72:ae:bd:fb:87:1f:
82:dd:98:be:25
ASN1 OID: prime256v1
NIST CURVE: P-256
但是,我只对“原始”公钥部分pub感兴趣:
04:6e:af:3c:7d:4c:a3:1a:81:f0:ae:14:45:16:67:
38:5b:09:4d:9e:55:f8:e2:f2:ba:e4:55:28:f6:31:
d8:25:c3:2d:f9:a2:d5:62:ba:eb:17:5f:1d:ad:99:
50:e4:a6:bd:eb:9b:44:18:0f:72:ae:bd:fb:87:1f:
82:dd:98:be:25
如何提取(动态!)相关信息?重要的是有一种适用于任何证书的方法,而不仅仅是所提供的示例。
我的实现是在 php 中,所以理想情况下我会找到使用 phpseclib 或 openssl 函数的解决方案。但是,例如,通过命令行了解它如何与 openssl 一起工作也有帮助。谢谢你。