我已经给出了模数,公共指数和私有指数,我需要在Android上安全地存储这些值。我怎样才能做到这一点?
大多数示例都是在不获取n,d,e参数的情况下创建公钥和私钥。我已经给出了这些n,e,d值,并希望安全地存储它们,然后使用这些值来创建我的ICC公钥证书,并签署我的动态数据。
我怎样才能实现这一目标?
答案 0 :(得分:6)
setEntry()允许您存储实现KeyStore.Entry的任何对象。如果需要存储不符合默认值的数据,则可以简单地实现自己的子类型。 (但RSAPrivateCrtKey可以存储PrivateKeyEntry。
答案 1 :(得分:2)
Android设备上唯一安全的存储可能是Android Keystore System。
关键材料永远不会进入申请流程。
和
密钥材料可能绑定到安全硬件。
(见http://developer.android.com/training/articles/keystore.html)
问题在于,您可以在其中存储的内容受到限制。 KeyChain类允许您存储私钥和证书链。同时,密钥库提供程序支持以下类型的条目:PrivateKeyEntry,SecretKeyEntry,TrustedCertificateEntry根据文档。实际上,尝试放置SecretKeyEntry实例会导致异常。
我建议在密钥库中放入两个条目。