【发布时间】:2011-01-31 06:07:51
【问题描述】:
我使用 openssl mycert.pem 生成了包含证书的内容。我将base64文本转换为十六进制。
我想知道是否可以从 c 中的十六进制字符串中提取信息(不使用 openssl 库)。比如公钥、颁发者、主题、有效性信息等。
谢谢。
【问题讨论】:
标签: c certificate openssl pem
我使用 openssl mycert.pem 生成了包含证书的内容。我将base64文本转换为十六进制。
我想知道是否可以从 c 中的十六进制字符串中提取信息(不使用 openssl 库)。比如公钥、颁发者、主题、有效性信息等。
谢谢。
【问题讨论】:
标签: c certificate openssl pem
可以,但是很麻烦。除了 Base64 未编码之外,您还必须实现 ASN1 解析器。
您可能会找到一些快捷方式,您可以在其中提取证书的某些部分,而无需使用完整的 ASN1 解析器。
ASN1 协议格式包含结构化数据,其中的部分可以在不完全解码的情况下跳过,因为每个条目的每个标头都包含一个大小字段,因此您可以例如跳过不感兴趣的证书部分。
【讨论】:
当然可以解析。但是 X509 不是最容易解析的格式。 Here 是对应该对您有所帮助的 RFC 的引用。
【讨论】: