【问题标题】:How to extract private key from Keystore in hexadecimal format如何从密钥库中提取十六进制格式的私钥
【发布时间】:2019-11-30 02:42:18
【问题描述】:
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”。提取密钥的方法是什么。

【问题讨论】:

    标签: android key-pair ecdh


    【解决方案1】:

    没有办法。这就是 AndroidKeyStore 的目的。在其中创建的密钥无法提取,这意味着即使是入侵 Android 操作系统的攻击者也无法将密钥材料泄露给他们。

    如果您想要一个可以导出的私钥,您应该在 AndroidKeyStore 之外创建密钥,保存私钥的副本,然后将其导入。 Keystore 将保护导入的副本。确保不要泄露您持有的副本(这实际上非常困难)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2019-06-21
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      相关资源
      最近更新 更多