Se si desidera che la chiave privata sia effettivamente archiviata in Secure Enclave, è necessario eseguire almeno iOS 9 e generare la coppia di chiavi utilizzando la funzione SecKeyGeneratePair ().
Ciò significa che la chiave privata è memorizzata in Secure Enclave, mentre la tua app ottiene la chiave pubblica.
Nota che questo significa anche che:
A) Non puoi utilizzare una chiave privata che hai generato tu stesso nel tuo codice o recuperata da qualche altra parte (come uno dei tuoi server)
B) Non è possibile recuperare la chiave privata, quindi è necessario utilizzare le funzioni Secure Enclave per la crittografia effettiva con la chiave privata.
Se la tua app richiede di eseguire una di queste operazioni, puoi generare una coppia di chiavi utilizzando la funzione summenzionata e utilizzarla per crittografare i tuoi dati (ad esempio le tue chiavi private autogenerate) con la chiave pubblica da Secure Enclave. Quindi puoi chiedere a Secure Enclave di decodificare le tue chiavi quando ne hai bisogno. Questo è più o meno simile alla memorizzazione delle chiavi in Keychain.