繁体   English   中英

如何以十六进制格式从密钥库中提取私钥

[英]How to extract private key from Keystore in hexadecimal format

KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
KeyStore.Entry entry = keyStore.getEntry("ECKey", null);
PrivateKey privateKey = ((KeyStore.PrivateKeyEntry) entry).getPrivateKey();
PublicKey publicKey = keyStore.getCertificate("ECKey").getPublicKey();

Log.d(TAG, "Private:" + privateKey.getEncoded());

此代码返回已编码的私钥“ null”。 提取密钥的方法是什么。

不可能。 这就是AndroidKeyStore的目的。 无法提取在其中创建的密钥,这意味着即使泄露给破坏Android操作系统的攻击者也不会泄漏密钥材料。

如果要拥有可以导出的私钥,则应在AndroidKeyStore外部创建密钥,保存私钥的副本,然后导入。 密钥库将确保导入副本的安全。 确保不要泄漏您持有的副本(这实际上很难)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM