2016-05-04 11 views
1

Wir verwenden AWS iOS SDK für ein IoT-Projekt in unserer Firma. Es ist eine einfache Anwendung für jetzt. Der Benutzer meldet sich bei unserem System an und versucht, eine Verbindung zum AWS IoT-Dienst herzustellen.Konvertieren von PEM-Antwort in PCKS12-Daten in Swift

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

Im Beispielprojekt oben erzeugt Anwendung sein eigenes Zertifikat und ein Schlüsselpaar unter Verwendung AWSIoT SDK. In unserem Fall wollen wir solche Zertifikate jedoch nicht erzeugen.

Wir haben eine Lambda-Funktion auf der Serverseite erstellt, um Zertifikate für unsere Benutzer zu generieren. Die iOS-Anwendung fordert ein Zertifikat an und sendet als Antwortserver ein Schlüsselpaar, certificatePem, certificateId und das Zertifikat Arn. Alle Komponenten werden vom AWSIoT SDK erstellt, wenn wir AFSIoTManager.defaultManager() verwenden. createKeysAndCertificateFromCsr-Methode.

In diesem Fall müssen wir unsere Benutzeridentität in den iOS-Schlüsselbund importieren. AWS SDK verfügt über eine andere Methode, um dieses Problem zu behandeln: AWSIoTManager.importIdentityFromPKCS12Data Methode

Wir müssen die Serverantwort zu PKCS12Data konvertieren, um das generierte Zertifikat zu verwenden. Wie können wir das tun?

Vielen Dank im Voraus.

Antwort

0

Wenn Sie das Schlüsselpaar, das Zertifikat PEM, die Zertifikats-ID und das Zertifikat ARN haben, können Sie das AWS Mobile SDK für iOS IoT-Klassen als Referenz verwenden, während Sie Code zum Importieren in den Schlüsselbund implementieren. The AWSIoTKeychain class enthält Methoden zum Importieren von Schlüsseln und the AWSIoTManager -createKeysAndCertificateFromCsr: method importiert das Zertifikat in den Schlüsselbund. Lassen Sie uns wissen, ob diese Informationen hilfreich sind, und vielen Dank für die Verwendung von AWS IoT.

+0

Danke für den Kommentar. Wir haben unser Problem auf der Serverseite gelöst. Dies wäre jedoch hilfreich genug, um das Problem zu lösen. – sonerd

Verwandte Themen