将 PEM 响应转换为 Swift 中的 PCKS12 数据

Convert PEM Response to PCKS12 Data in Swift

我们正在为我们公司的物联网项目使用 AWS iOS SDK。目前这是一个简单的应用程序。用户登录到我们的系统并尝试连接到 AWS IoT 服务。

https://github.com/awslabs/aws-sdk-ios-samples/tree/master/IoT-Sample/Swift/IoTSampleSwift

在上面的示例项目中,应用程序使用 AWSIoT SDK 生成自己的证书和密钥对。但是,在我们的例子中,我们不想生成这样的证书。

我们在服务器端创建了一个 Lambda 函数来为我们的用户生成证书。 iOS 应用程序请求证书并作为响应服务器发送密钥对、certificatePem、certificateId 和证书 Arn。如果我们使用 AWSIoTManager.defaultManager(),则所有组件均由 AWSIoT SDK 创建。 createKeysAndCertificateFromCsr 方法。

在这种情况下,我们需要将我们的用户身份导入到 iOS 钥匙串中。 AWS SDK 有另一种方法来处理这个问题: AWSIoTManager.importIdentityFromPKCS12Data 方法

我们需要将服务器响应转换为 PKCS12Data 才能使用生成的证书。我们该怎么做?

提前致谢。

如果您有密钥对、证书 PEM、证书 ID 和证书 ARN,您可以使用 AWS Mobile SDK for iOS's IoT 类 作为参考同时实现将这些导入钥匙串的代码。 The AWSIoTKeychain class contains methods for importing keys, and the AWSIoTManager -createKeysAndCertificateFromCsr: method 将证书导入钥匙串。让我们知道这些信息是否有帮助,并感谢您使用 AWS IoT。