本项目提供了一个 Swift 框架,允许你在 iOS 上使用 Swift 创建自签名证书。遗憾的是,Apple 在其安全框架中没有提供此功能。另一种方法是使用 OpenSSL,但(尤其是在使用 Swift 时)那简直是糟糕透顶。
此库中的代码是 MYCrypto 的(部分)移植。该项目包含未维护的 Objective-C 代码,作为 CocoaPod 使用时很困难,尤其是在使用 Swift 时。所以我提取了所需的部分,并用 Swift 实现了它。
请注意,我不是安全专家。这个框架尚未经过安全专家审查。在审查之前,请谨慎使用!并且在任何情况下(无论是否经过审查),使用它始终是您自己的风险,这是当然的。
如果您是安全专家,并且想要审查这个框架,请联系我。
guard let identity = SecIdentity.create(
subjectCommonName: "common name",
subjectEmailAddress: "email@example.com") else {
return
}
这将为您提供一个自签名的 SecIdentity?
,它已存储在钥匙串中。另请参阅 SecIdentity+SelfSigned.swift,了解从钥匙串中检索先前创建的身份的功能。
您不妨看看 swift-SecurityExtensions,它提供了一些助手,可以更轻松地使用 SecIdentity
、SecCertificate
和 SecKey
。