![从 X.509 证书中提取原始 ASN.1 部分](https://linux22.com/image/589907/%E4%BB%8E%20X.509%20%E8%AF%81%E4%B9%A6%E4%B8%AD%E6%8F%90%E5%8F%96%E5%8E%9F%E5%A7%8B%20ASN.1%20%E9%83%A8%E5%88%86.png)
我想从 X.509 证书中提取原始十六进制 ASN.1 数据。我知道,我可以通过使用 DER 格式并对其进行十六进制转储来实现这一点。
我对特定部分感兴趣,例如“主题”、“发行者”及其原始十六进制 ASN1 数据。
答案1
使用(第一列中的数字)确定感兴趣部分的偏移量:
openssl x509 -in crt.pem -outform der | openssl asn1parse -inform der -i
例如,如果“主题”条目位于偏移量 119。转储该子结构的原始数据:
openssl x509 -in crt.pem -outform der | openssl asn1parse -inform der -i -strparse 119 -noout -out subject.raw
现在打印原始十六进制数据:
cat subject.raw | od --address-radix=n --format=x1 | tr -d ' \n'