Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Android中,如何确保将私钥存储在安全硬件中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
KeyInfo的isInsideSecureHardware-method的返回值似乎取决于设备型号,操作系统版本以及其他一些随机因素.

例如,当使用索尼xperia z5 compact与旧的os版本时,isInsideSecureHardware()可能会返回true一段时间,然后突然开始为同一私钥返回false.
使用最新的操作系统版本(32.2.A.0.224),它似乎只返回false.
华为Nexus 6P始终如一.

有没有办法确保密钥存储在安全的硬件中?

这是我目前的代码

KeyPairGenerator keyPairGenerator = KeyPairGenerator.geTinstance(KeyProperties.KEY_ALGORITHM_RSA,"AndroidKeyStore");
keyPairGenerator.initialize(new KeyGenParameterSpec.builder(KEY_NAME,KeyProperties.PURPOSE_DECRYPT | KeyProperties.PURPOSE_ENCRYPT)
                                    .setUserAuthenticationrequired(true)
                                    .setBlockmodes(KeyProperties.bLOCK_MODE_ECB)
                                    .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1)
                                    .build());
KeyPair keyPair = keyPairGenerator.generateKeyPair();
// check that private key is inside secure hardware
KeyFactory factory = KeyFactory.geTinstance(key.getAlgorithm(),"AndroidKeyStore");
KeyInfo keyInfo = factory.getKeySpec(key,KeyInfo.class);
Boolean secure = keyInfo.isInsideSecureHardware(); //  this usually returns false

谢谢!

编辑:
在索尼支持论坛中,有一个关于同一问题的话题:
https://talk.sonymobile.com/t5/Android-development/hardware-backed-keystore/td-p/1154124

有人提到以下警告打印到日志:

解决方法

根据Android API,验证它的唯一方法是首先创建密钥然后查看信息以确保它是硬件支持的.

看看手机的规格,它最初是在Lollipop上发布的.那是在官方的Marshmallow指纹API /硬件规格和制造商做自己的事情之前.本文提到了您正在使用的设备(http://blog.elcomsoft.com/2016/06/fingerprint-unlock-security-ios-vs-google-android-part-ii/).我想知道你回来的真实价值是否不正确,然后由于你的O / S升级它修复了逻辑(或打破了吗?).您提到的O / S升级版本包含“2016年4月1日Google安全补丁”

我有几个问题:

>现在您的设备上有什么isUserAuthenticationrequirementEnforcedBySecureHardware()返回?价值是否一致?如果它是假的,可以告诉你指纹识别器不被认为是安全的(或者有O / S缺陷)>老版本操作系统的版本究竟意味着什么?棒糖?您是否尝试过重置为出厂认设置?

大佬总结

以上是大佬教程为你收集整理的在Android中,如何确保将私钥存储在安全硬件中全部内容,希望文章能够帮你解决在Android中,如何确保将私钥存储在安全硬件中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。