Ios 即使在卸载应用程序后,安全Enclave密钥仍然存在
我使用以下代码片段在安全enclave中生成了密钥Ios 即使在卸载应用程序后,安全Enclave密钥仍然存在,ios,swift3,cryptography,enclave,Ios,Swift3,Cryptography,Enclave,我使用以下代码片段在安全enclave中生成了密钥 func generateKeyPair(accessControl: SecAccessControl) throws -> (`public`: SecureEnclaveKeyReference, `private`: SecureEnclaveKeyReference) { let privateKeyParams: [String: Any] = [ kSecAttrLabel as S
func generateKeyPair(accessControl: SecAccessControl) throws -> (`public`: SecureEnclaveKeyReference, `private`: SecureEnclaveKeyReference) {
let privateKeyParams: [String: Any] = [
kSecAttrLabel as String: privateLabel,
kSecAttrIsPermanent as String: true,
kSecAttrAccessControl as String: accessControl,
]
let params: [String: Any] =
[
kSecAttrKeyType as String: attrKeyTypeEllipticCurve,
kSecAttrKeySizeInBits as String: 256,
kSecAttrTokenID as String: kSecAttrTokenIDSecureEnclave,
kSecPrivateKeyAttrs as String: privateKeyParams
]
var publicKey, privateKey: SecKey?
let status = SecKeyGeneratePair(params as CFDictionary, &publicKey, &privateKey)
guard status == errSecSuccess else {
throw SecureEnclaveHelperError(message: "Could not generate keypair", osStatus: status)
}
return (public: SecureEnclaveKeyReference(publicKey!), private: SecureEnclaveKeyReference(privateKey!))
}
卸载应用程序后,密钥仍然存在,是否有办法从安全enclave中删除密钥
提前感谢您:
从设备中删除应用程序时,没有执行代码的触发器。对密钥链的访问取决于用于签署应用程序的配置文件。因此,没有其他应用程序能够访问钥匙链中的此信息
如果要从Secure Enclave中删除密钥,可以调用:
SecItemDelete(query as CFDictionary)
你找到办法了吗?没有,我没有找到