From 1e76513d0a3eb417b3e122c2b94fa2ac144cf26f Mon Sep 17 00:00:00 2001 From: Max Goedjen Date: Sun, 17 Jan 2021 17:36:50 -0800 Subject: [PATCH] Restore that --- .../SecureEnclave/SecureEnclaveStore.swift | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/SecretKit/SecureEnclave/SecureEnclaveStore.swift b/SecretKit/SecureEnclave/SecureEnclaveStore.swift index 12925e6..c355553 100644 --- a/SecretKit/SecureEnclave/SecureEnclaveStore.swift +++ b/SecretKit/SecureEnclave/SecureEnclaveStore.swift @@ -121,27 +121,27 @@ extension SecureEnclave.Store { } private func loadSecrets() { -// let attributes = [ -// kSecClass: kSecClassKey, -// kSecAttrKeyType: SecureEnclave.Constants.keyType, -// kSecAttrApplicationTag: SecureEnclave.Constants.keyTag, -// kSecAttrKeyClass: kSecAttrKeyClassPublic, -// kSecReturnRef: true, -// kSecMatchLimit: kSecMatchLimitAll, -// kSecReturnAttributes: true -// ] as CFDictionary -// var untyped: CFTypeRef? -// SecItemCopyMatching(attributes, &untyped) -// guard let typed = untyped as? [[CFString: Any]] else { return } -// let wrapped: [SecureEnclave.Secret] = typed.map { -// let name = $0[kSecAttrLabel] as? String ?? "Unnamed" -// let id = $0[kSecAttrApplicationLabel] as! Data -// let publicKeyRef = $0[kSecValueRef] as! SecKey -// let publicKeyAttributes = SecKeyCopyAttributes(publicKeyRef) as! [CFString: Any] -// let publicKey = publicKeyAttributes[kSecValueData] as! Data -// return SecureEnclave.Secret(id: id, name: name, publicKey: publicKey) -// } -// secrets.append(contentsOf: wrapped) + let attributes = [ + kSecClass: kSecClassKey, + kSecAttrKeyType: SecureEnclave.Constants.keyType, + kSecAttrApplicationTag: SecureEnclave.Constants.keyTag, + kSecAttrKeyClass: kSecAttrKeyClassPublic, + kSecReturnRef: true, + kSecMatchLimit: kSecMatchLimitAll, + kSecReturnAttributes: true + ] as CFDictionary + var untyped: CFTypeRef? + SecItemCopyMatching(attributes, &untyped) + guard let typed = untyped as? [[CFString: Any]] else { return } + let wrapped: [SecureEnclave.Secret] = typed.map { + let name = $0[kSecAttrLabel] as? String ?? "Unnamed" + let id = $0[kSecAttrApplicationLabel] as! Data + let publicKeyRef = $0[kSecValueRef] as! SecKey + let publicKeyAttributes = SecKeyCopyAttributes(publicKeyRef) as! [CFString: Any] + let publicKey = publicKeyAttributes[kSecValueData] as! Data + return SecureEnclave.Secret(id: id, name: name, publicKey: publicKey) + } + secrets.append(contentsOf: wrapped) } private func savePublicKey(_ publicKey: SecKey, name: String) throws {