You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解析Mac系统security命令输出的证书信息?

Mac钥匙串证书Subject段解析指南

一、数据格式说明

"subj"<blob>=后面的十六进制序列是ASN.1 DER编码的X.500主题名称,这是X.509证书标准里用来标识证书持有者的规范编码格式——DER是ASN.1的一种紧凑二进制编码规则,确保数据无歧义。

你看到的后半段0\201\2241\032...是终端对二进制数据的八进制转义显示:每个\后跟的三位数字对应字节的八进制值,比如\201就是十进制129、十六进制0x81,和前面的十六进制序列完全对应。这种转义只是为了让不可打印字符能在终端显示,并不是实际的字符串内容。

二、直接解析的便捷命令

不用手动折腾解码,security命令配合openssl就能直接输出可读结果:

方法1:直接输出可读Subject

用-p参数导出证书的PEM格式,再通过openssl解析出Subject:

security find-certificate -p -c "Apple Development" login.keychain | openssl x509 -noout -subject

输出示例:

subject= /C=US/ST=California/L=Cupertino/O=Apple Inc./OU=Developer Relations/CN=Apple Development: XXX@example.com

方法2:查看完整ASN.1结构

如果需要更细致的字段层级,用openssl解析ASN.1结构:

security find-certificate -p -c "Apple Development" login.keychain | openssl asn1parse -inform pem

会输出每个字段的类型、长度和对应值的详细信息。

三、手动解码步骤(进阶)

如果非要手动处理之前提取的十六进制数据:

  1. 把0x开头的十六进制字符串去掉前缀,保存为纯文本文件(比如subj.hex)
  2. 用xxd把十六进制转成二进制DER文件:
    xxd -r -p subj.hex > subj.der
    
  3. 用openssl解析DER文件:
    openssl asn1parse -inform der -in subj.der
    

内容的提问来源于stack exchange,提问作者fuji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:20:05