All.I我正在開發一個android項目。我需要生成一個RSA密鑰對,然後使用它們與其他人進行通信。我需要將私鑰和公鑰存儲在安全的地方,我發現可以使用KeyStore。如何將私鑰和公鑰存入KeyStore
我看到KeyStore可以存儲KeyStore.PrivateKeyEntry,但它需要一個Certificate []鏈。我試圖創建它,但失敗...
有沒有人可以粘貼一些用於存儲私鑰和公鑰的示例代碼。
非常感謝!
All.I我正在開發一個android項目。我需要生成一個RSA密鑰對,然後使用它們與其他人進行通信。我需要將私鑰和公鑰存儲在安全的地方,我發現可以使用KeyStore。如何將私鑰和公鑰存入KeyStore
我看到KeyStore可以存儲KeyStore.PrivateKeyEntry,但它需要一個Certificate []鏈。我試圖創建它,但失敗...
有沒有人可以粘貼一些用於存儲私鑰和公鑰的示例代碼。
非常感謝!
就像你說的,爲了將私鑰存儲到密鑰庫中,您需要私鑰(您擁有)和證書鏈以獲取相應的公鑰。你所擁有的僅僅是公鑰,你需要根據你的公鑰從一個權威機構獲得一個證書。是的,您可以自行簽署證書。但我不認爲有任何內置的Java API來以編程方式創建和自簽名證書。
對此thread有類似的討論。接受的解決方案描述將密鑰庫外部的私鑰和公鑰存儲在受保護文件中。
你可以閱讀更多關於Java加密架構這裏http://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html
希望這有助於。
只是一個評論。鏈接的接受解決方案將密鑰存儲在不受保護的文件中。 – Andy
嗨,你需要以編程方式創建/管理證書嗎?因爲您不必編寫任何代碼來創建證書或將證書導入密鑰庫。你可以使用[keytool](http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html)。 – sperumal
嗨supermal,謝謝你的答覆。我必須以編程方式完成這個。 –
看看文檔http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html –