Wo wird kSecAttrTokenIDSecureEnclave dokumentiert?

8

Ich haue mir den Kopf, indem ich versuche, ein privat-öffentliches Schlüsselpaar mit kSecAttrTokenIDSecureEnclave zu generieren, so dass der private Schlüssel in der sicheren Enklave generiert wird.

Wo ist kSecAttrTokenIDSecureEnclave dokumentiert? Unten ist mein Code, der mit dem Statuscode -50 fehlschlägt.

%Vor%     
Randomblue 11.11.2015, 12:20
quelle

1 Antwort

5

Der Fehler, den Sie erhalten, -50 , weist auf einen Parameterfehler hin. Ein Parameter, den Sie an die Funktion übergeben, ist für den Vorgang falsch oder ungeeignet. Wenn Sie sich den Header SecItem ansehen, sehen Sie:

  

kSecAttrTokenIDSecureEnclave Gibt den bekannten Bezeichner des            Token wurde mithilfe der Secure Enclave des Geräts implementiert. Die einzigen Schlüsselbundartikel            Unterstützt durch das Secure Enclave Token sind 256-Bit-Ellipsenkurvenschlüssel            (kSecAttrKeyTypeEC). Schlüssel müssen auf der sicheren Enklave mit generiert werden            SecKeyGenerateKeyPair-Aufruf mit kSecAttrTokenID auf gesetzt            kSecAttrTokenIDSecureEnclave im Parameterwörterbuch ist es nicht            Es ist möglich, vorgenerierte Schlüssel in das Token kSecAttrTokenIDSecureEnclave zu importieren.

RSA ist derzeit keine unterstützte Verschlüsselung, wenn ein privater Schlüssel in der sicheren Enklave generiert wird. Wechseln Sie zu einem 256-Bit-EC-Schlüssel.

Dies wurde in der WWDC-Sitzung 2015 706 Sicherheit und Ihre Apps behandelt. Das Apple-Beispielprojekt "KeychainTouchID" zeigt die korrekten Parameter zum Generieren und Verwenden eines Schlüssels mithilfe der sicheren Enklave an.

    
quellish 01.12.2015, 21:26
quelle

Tags und Links