Ios 即使在卸载应用程序后,安全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

我使用以下代码片段在安全enclave中生成了密钥

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)

你找到办法了吗?没有,我没有找到