我正在开发一个Android应用程序,生成一个EC不对称密钥。当我的应用程序连接到设备时,它们会交换公钥。然后他们使用ecdh来建立一个共享的秘密。然后使用此共享密钥派生AES会话密钥。一切都很顺利。
我现在正在研究非对称密钥的存储。我想把它放在android密钥库中,但我不知道如何才能完成ecdh操作。密钥存储中的密钥可用于签名、解密或加密,但我看不到执行ECDH操作的可能性。有可能吗?
在浏览时,我看到了this discussion这说明这是不可能的。如果是这样的话,我怎样才能“保护”我的不对称密钥?
谢谢
最佳答案
AndroidKeystore当前不支持ECDH,如您在这里所见https://developer.android.com/training/articles/keystore
安全地将密钥对存储到设备中的另一种方法是使用androidkeystore管理的加密密钥来加密ec私钥。
根据目标版本的不同,您可以使用rsa或aes密钥。见how to securely store encryption keys in android?