首页 > 解决方案 > 通过 SecCertificate 从证书中检索颁发者名称

问题描述

我有一个证书文件。SecCertificate 对象已正确创建。

let data = try? Data(contentsOf: fileUrl!)
let certificate = SecCertificateCreateWithData(nil, data! as CFData)

▿ Optional<SecCertificateRef>
  - some : <cert(0x7fec5d608250) s: www.google.com i: Avast trusted CA>

//   I can get Subject name by 
SecCertificateCopySubjectSummary(certificate!)! as String

//   I tried printing SecCertificateCopyNormalizedIssuerSequence
var data1 = SecCertificateCopyNormalizedIssuerSequence(certificate!)! as Data
print(String(data: data1, encoding: .utf8))

Optional("0h1\u{0B}0\t\u{06}\u{03}U\u{04}\u{06}\u{13}\u{02}CZ1\u{0F}0\r\u{06}\u{03}U\u{04}\u{08}\u{0C}\u{06}Prague1\u{0E}0\u{0C}\u{06}\u{03}U\u{04}\n\u{0C}\u{05}AVAST1\u{1D}0\u{1B}\u{06}\u{03}U\u{04}\u{0B}\u{0C}\u{14}Software Development1\u{19}0\u{17}\u{06}\u{03}U\u{04}\u{03}\u{0C}\u{10}Avast trusted CA")

但我需要使用 SecCertificate.h 获取发行人名称信息,如公用名或组织(如上例中来自 SecCertificateRef 的 i)

谢谢。

标签: iosswiftcharacter-encodingcertificatessl-certificate

解决方案


推荐阅读