Элемент не становится недействительным после смены отпечатка пальца с помощью biometryCurrentSet iOS
Я пытаюсь сохранить пароль в связке ключей с установленным флагом biometryCurrentSet SecAccessControl. Сохранение и чтение работают как положено, за исключением случаев, когда я добавляю, добавляю или удаляю отпечаток пальца. Это все еще возвращает пароль, я ожидаю ошибку, поскольку документация заявляет, что элемент будет признан недействительным. https://developer.apple.com/documentation/security/secaccesscontrolcreateflags/2937192-biometrycurrentset
guard let accessControl = SecAccessControlCreateWithFlags(kCFAllocatorDefault, kSecAttrAccessibleWhenUnlockedThisDeviceOnly, SecAccessControlCreateFlags.biometryCurrentSet, nil) else {
print("COULD NOT CREATE THE ACCESS CONTROL FLAGS!!!!!")
return
}
guard let pword = password.data(using: String.Encoding.utf8) else {
print("COULD NOT CREATE THE PASSWORD DATA!!!!!")
return
}
let query: [String : Any] = [kSecClass as String : kSecClassGenericPassword as String,
kSecAttrService as String : service,
kSecAttrAccount as String : username,
kSecAttrAccessControl as String : accessControl,
kSecUseOperationPrompt as String : "Authenticate with biometrics",
kSecUseAuthenticationUI as String : kSecUseAuthenticationUIAllow as String,
kSecValueData as String : pword]
let status = SecItemAdd(query as CFDictionary, nil)
1 ответ
Проблема была в моем запросе SecItemUpdate, я не включал флаги контроля доступа.