我需要使用iOS本机API从X.509证书中提取DN(专有名称)。不使用任何第三方库,如OpenSSL。
我需要将其提取为具有以下格式的字符串,如X.509标准所定义:
CN=John Smith, OU=Test, O=IBM, C=GB
根据其签名,我发现this method似乎回复了我正在寻找的东西:
CFDataRef SecCertificateCopyNormalizedSubjectSequence(SecCertificateRef certificate);
此方法返回DER编码序列。方法标题评论说:
主题是SecItemCopyMatching使用的格式的序列。 返回的内容是DER编码的X.509专有名称。为一个 显示主题的版本,调用SecCertificateCopyValues。
问题是 SecCertificateCopyValues 方法仅适用于macOS。
是否有其他方法可以使用iOS可用API从返回的数据中提取DER编码值的字符串表示形式?