我正在尝试使用Boncy/Spongycastle的OAEP编码来解码一些包含的数据。但是,用于初始化OAEPEncoding
类的SpongyCastle API需要CipherParameters
。就我而言,我正在尝试使用Android PrivateKey
解开一些内容,因此我想我需要以某种方式将键转换为AsymmetricKeyParam
并将其粘贴在OAEPEncoding.init
功能中。但是,我确实尝试搜索类似的东西,但是大多数示例都通过执行getPrivate().getEncoded()
来表明初始化。但是,Android不允许您获得原始的私钥,因此我不确定如何处理...
编辑:我使用BC的OAEP类的原因是将OAEP与SHA-256
无法访问存储在Android密钥库中的关键材料。您可以使用钥匙,但不能提取它们。这是一个安全限制。privateKey.getEncoded()
将一直为null,您将无法提取参数以使用SpongyCastle创建键。
请参阅Android键盘的安全功能
提取预防
Android钥匙店键的关键材料可以使用两种安全措施来保护免于提取:
- 关键材料永远不会输入申请过程。当应用程序使用Android键盘键执行加密操作时执行加密操作。如果应用程序的过程受到损害,则t 攻击者可能能够使用该应用程序的键,但无法提取其钥匙材料(例如,在Android设备之外使用)。/li>
如果要使用OAEP,则需要自己创建和存储键或Targe Android> = 23