2014-10-20 15 views
5

Wie erstellt man einen SecIdentityRef, wenn Sie einen SecCertificateRef und einen privaten Schlüssel in iOS haben? Ich habe ein X509-Zertifikat, das vom Server und einem zugehörigen privaten Schlüssel übergeben wird, aber jetzt habe ich Schwierigkeiten, Vertrauen in NSURLCredentials aufzubauen.Wie SecIdentityRef von SecCertificateRef und PrivateKey erhalten?

Eine ähnliche Frage hier gefragt wurde How to establish a SecIdentityRef in an iPhone keychain ? (Without a .p12)

die oben Post Wichtig erwähnt, habe ich SecCertificateRef erstellen mit SecCertificateCreateWithData zuerst und dann hinzugefügt in den Schlüsselbund SecItemAdd verwenden, aber nicht wissen, was jetzt tun SecIdentityRef zu erzeugen .

Vielen Dank,
Manish
P. S. - Ich habe nicht genug Referenzen, um einen Beitrag zu kommentieren und eine neue Frage zu stellen.

+0

Hallo, bist du erfolgreich? Ich mache das gleiche, aber ich kann es nicht funktionieren, ich sende CSR an Server, Server gibt Client-Zertifikat zurück, ich werde es in Schlüsselbund speichern, dann möchte ich eine Anfrage durchführen, so überschrieb ich 'credentialWithIdentity: Zertifikate: Persistenz' aber ich bekomme immer noch SSL-Fehler – beretis

Antwort

5

Wie ich es verstehe, existieren SecIdentityRef s nicht als einzelne Schlüsselbundeinträge. Wenn Sie eine Identität mit SecItemCopyMatching() erhalten, findet es ein Zertifikat und einen entsprechenden privaten Schlüssel und gibt eine Identität zurück, die nur eine Referenz auf dieses (Cert, Schlüssel) -Paar ist. Soweit ich weiß, besteht die einzige Möglichkeit, SecIdentityRef zu erstellen, darin, einen privaten Schlüssel und ein Zertifikat für diesen Schlüssel in Ihren Schlüsselbund einzufügen und dann nach Identitäten zu suchen.

+0

können Sie eine Auswahl für meine Frage treffen? http://stackoverflow.com/q/38771668/1387438 –

Verwandte Themen