在OS-X中使用openssl解析ASN1证书

时间:2015-12-13 13:12:28

标签: macos parsing code-signing asn.1

我希望为我的程序添加一个功能,该功能可以读取给定输入证书中的特定字段,该证书是从mach-o可执行文件中的LC_CODE_SIGNITURE获取的。

我想从签名者名称开始,因为我可以使用以下命令轻松检查我的工作:

codesign -d --extract-certificates=/tmp/cert_note /Applications/Safari.app/Contents/MacOS/Safari

这为我提供了以下结构中的证书主要字段的完整列表:

...
42:d=4  hl=2 l=   9 cons: SEQUENCE          
44:d=5  hl=2 l=   3 prim: OBJECT            :countryName
49:d=5  hl=2 l=   2 prim: PRINTABLESTRING   :US
53:d=3  hl=2 l=  19 cons: SET               
55:d=4  hl=2 l=  17 cons: SEQUENCE          
57:d=5  hl=2 l=   3 prim: OBJECT            :organizationName
62:d=5  hl=2 l=  10 prim: UTF8STRING        :Apple Inc.
74:d=3  hl=2 l=  38 cons: SET               
76:d=4  hl=2 l=  36 cons: SEQUENCE          
78:d=5  hl=2 l=   3 prim: OBJECT            :organizationalUnitName
83:d=5  hl=2 l=  29 prim: UTF8STRING        :Apple Certification Authority
114:d=3  hl=2 l=  51 cons: SET               
116:d=4  hl=2 l=  49 cons: SEQUENCE          
118:d=5  hl=2 l=   3 prim: OBJECT            :commonName
123:d=5  hl=2 l=  42 prim: UTF8STRING        :Apple Code Signing Certification Authority
...

经过一些研究,我被介绍到以下标题/usr/include/openssl/asn1.h

这个API适合我的需求吗?有谁可以给​​我这个具体案例的代码示例?

0 个答案:

没有答案