Par CryptoKit (SecureEnclave.P256.Signing.PrivateKey, SecureEnclave.P256.KeyAgreement.PrivateKey) ou par le trousseau (kSecAttrTokenIDSecureEnclave), les applications obtiennent une clé qui ne quitte jamais le matériel ; elles ne stockent qu’une référence opaque, liée à l’appareil. Pour les algorithmes classiques, l’enclave ne prend en charge que NIST P-256, ce qui explique en partie pourquoi ES256 et COSE −7 dominent les clés d’accès et les identifiants liés à un appareil.
Depuis iOS 26 et macOS 26 (2025), CryptoKit propose aussi ML-KEM et ML-DSA avec prise en charge de la Secure Enclave. Des indicateurs de contrôle d’accès (.biometryCurrentSet, .userPresence) peuvent exiger une approbation biométrique ou par code d’accès à chaque utilisation de la clé.
Les signatures sortent encodées en DER, comme celles des autres magasins de clés des plateformes ; les consommateurs JWS et COSE ont besoin du format brut r‖s. Les clés disparaissent avec l’appareil, sauf si le protocole de l’application prévoit une récupération : les clés d’accès synchronisées relèvent d’une autre conception et sont conservées dans le trousseau iCloud plutôt que dans l’enclave.