feat: add secure_enclave.swift

This commit is contained in:
2023-03-09 01:09:37 +08:00
parent 587b9f0577
commit 20c7a8d886

23
secure_enclave.swift Normal file
View File

@@ -0,0 +1,23 @@
// https://www.andyibanez.com/posts/cryptokit-secure-enclave/
// import Swift import Foundation
// import Security
import CryptoKit
let se = SecureEnclave.isAvailable;
print("Supports SE: \(se)");
var error: Unmanaged<CFError>? = nil;
guard let accessCtrl = SecAccessControlCreateWithFlags(
nil,
kSecAttrAccessibleWhenUnlockedThisDeviceOnly,
[.privateKeyUsage, .biometryCurrentSet],
&error
) else {
throw error!.takeRetainedValue() as Swift.Error;
} var privateKeyReference = try CryptoKit.SecureEnclave.P256.KeyAgreement.PrivateKey.init(
accessControl: accessCtrl
);
print("Private key reference: \(privateKeyReference)");
print("Private key reference - publicKey: \(privateKeyReference.publicKey)");
print("Private key reference - dataRepresentation: \(privateKeyReference.dataRepresentation)");