SelfSignedCert

Swift Version 5 CocoaPods Version Badge License Badge Supported Platforms Badge Carthage compatible Swift Package Manager compatible

本项目提供了一个 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,它提供了一些助手,可以更轻松地使用 SecIdentitySecCertificateSecKey