我们正在将 AWS iOS SDK 用于我们公司的 IoT 项目。现在是一个简单的应用程序。用户登录到我们的系统并尝试连接到 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 以使用生成的证书。我们应该怎么做?
提前致谢。