我希望为我的程序添加一个功能,该功能可以读取给定输入证书中的特定字段,该证书是从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适合我的需求吗?有谁可以给我这个具体案例的代码示例?