即使卸载应用程序后,安全的Enclave密钥仍然存在

时间:2018-08-04 12:16:55

标签: ios swift3 cryptography enclave

我已使用以下代码段在安全区域内生成了密钥,

func generateKeyPair(accessControl:SecAccessControl)引发->( function getRefreshToken() { console.log('Starting token request') // requesting access token from refresh token var refresh_token = tokens.refresh; var authOptions = { url: 'https://accounts.spotify.com/api/token', headers: { 'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) }, form: { grant_type: 'refresh_token', refresh_token: refresh_token }, json: true }; request.post(authOptions, function(error, response, body) { if (!error && response.statusCode === 200) { tokens.access = body.access_token; } //play_song(); //only a temporary fix }) } :SecureEnclaveKeyReference,public:SecureEnclaveKeyReference){

private

卸载应用程序后,密钥仍然存在,是否有办法从安全区域中删除密钥?

预先感谢您:)

1 个答案:

答案 0 :(得分:1)

  

从设备删除应用程序后,没有触发器可以执行代码。对钥匙串的访问取决于用于对应用程序进行签名的供应配置文件。因此,没有其他应用程序可以访问钥匙串中的此信息。

https://stackoverflow.com/a/5711090/7350472

如果要从Secure Enclave删除密钥,可以致电:

SecItemDelete(query as CFDictionary)

https://developer.apple.com/documentation/security/1395547-secitemdelete