我想在Android KeyStore中存储一些敏感数据(刷新令牌)。
我打算使用Xamarin Labs Sample ISecureStorage实现
但是他们使用设备ID作为密码....这不是一种安全的方式吗?!
在他们的Xamarin.Auth库中,它利用了Android KeyStore ......他们的密码是硬编码的
这里发生了什么?!我错过了什么吗?
在iOS上它更简单,因为KeyChain依赖于在iOS上强制执行的PIN屏幕。什么是Android的解决方案?不要说共享偏好。我需要更安全的东西(KeyStore !!)
答案 0 :(得分:0)
硬编码值保留了向后兼容性,但添加了API,因此用户可以将任意密码作为字符串提交。如果未传递密码,将使用旧的硬编码字符串,这是安全问题。
计划将[Obsolete]属性添加到不安全的API中。
由用户决定如何生成/传递密码(UI或不如您提到的DeviceID那样安全)。
关于实验室:来自Evolve16预贡献培训的实验室是什么?
如果是的话。这些实验的核心现已集成在Xamarin.Auth中,因此用户可以直接使用SecureStorage和其他实用程序(CryptoUtilities)与Xamarin.Auth。