簡體   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