gpt4 book ai didi

ios - 生成无法导出的私钥

转载 作者:可可西里 更新时间:2023-11-01 03:43:14 25 4
gpt4 key购买 nike

我想在 iPhone 上生成一个 key 对,这样私钥就可以永远用于对该特定 iPhone 上的数据 block 进行签名。

SecKeyGeneratePair功能看起来很有希望。我可以为钥匙串(keychain)生成一个 key 对(使用 kSecAttrIsPermanent),我可以使用私钥禁用解密、派生和解包(设置 kSecAttrCanDecryptkSecAttrCanDerivekSecAttrCanUnwrapfalse)。

关于使用 SecKeyGeneratePair 生成的 key 对,我担心两件事:

  1. 是否可以将钥匙串(keychain)之外的私钥导出到应用程序内存中?

  2. 是否可以在创建私钥后更改 key 属性(例如将 kSecAttrCanDecrypt 设置为 true)?

最佳答案

This article提供更多详细信息(与此线程中的其他答案相比):

SecGenerateKeyPair(), which is used to generate RSA and ECDSA key pairs, can now be configured to directly store the generated private key in the device’s Keychain (within the Secure Enclave). This means that the private key can be used without ever leaving the device’s Secure Enclave.

还有重要的补充:

生成 key 对时需要使用kSecAttrTokenIDSecureEnclave属性。

如果您不指定此属性,即使在 iOS9 上也可以访问私钥。

关于ios - 生成无法导出的私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32550825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com