gpt4 book ai didi

android - KeyPairGeneratorSpec 弃用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:36:11 26 4
gpt4 key购买 nike

KeyPairGeneratorSpec自 API 23 以来已弃用。您如何处理此警告?

示例代码:

KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
kpg.initialize(new KeyPairGeneratorSpec.Builder(context).build());

最佳答案

根据 documentation ,您应该改用 KeyGenParameterSpec。例如(对于 RSA 签名 key ):

KeyPairGenerator kpg = KeyPairGenerator.getInstance(
KeyProperties.KEY_ALGORITHM_RSA, "AndroidKeyStore");
kpg.initialize(new KeyGenParameterSpec.Builder(
"mykey", KeyProperties.PURPOSE_SIGN)
.setDigests(KeyProperties.DIGEST_SHA256)
.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS)
.build());

设置摘要和填充模式的附加选项是必需的。这是因为,遵循良好的加密安全实践,AndroidKeyStore 现在将 key 的使用方式(签名与解密、摘要和填充模式等)锁定到指定的集合。如果您尝试以创建 key 时未指定的方式使用 key ,它将失败。这种失败实际上是由安全硬件强制执行的,如果您的设备有它,所以即使攻击者获取了设备的 root 权限, key 仍然只能以定义的方式使用。

KeyGenParameterSpec 还支持创建 ECDSA、AES 和 HMAC key ,并允许您对 key 的使用方式设置其他限制。例如,如果您使用 setUserAuthenticationRequired 方法,除非用户在附近进行 self 验证,否则将无法使用 key 。

关于android - KeyPairGeneratorSpec 弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35269954/

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