java keystore


JAVA有一個keystore用來存放私鑰和證書,該文件是伴隨JDK默認存在的,路徑默認是/lib/security/cacerts,默認密碼是changeit,實際上空密碼也可以直接訪問

其中cacerts就是上面說的keystore

我們使用命令keytool -list -rfc -keystore cacerts來列出其中的內容

-list -rfc 這些參數的意思可以參考下圖

在樂山的時候,我們的代碼曾經在測試環境報過一個錯誤

我們代碼報這個錯,是在KeyProvider這個bean實例化的時候,要給密鑰容器密碼賦值,我們配的是明文12345678,導致解密失敗。實際上配置密文就可以了。

但是為什么配了明文之后,解密失敗,最后keystorePassword為空,竟然也能正常工作呢。

經過查資料和不斷實驗,我發現無論keystore設置什么密碼,都能以空密碼進入。也就是說,keystore就是可以在不輸入密碼的時候訪問的。那這個密碼的用途是什么呢。

在不輸入密碼的時候訪問keystore,有一段提示

*****************  WARNING WARNING WARNING  *****************
* 存儲在您的密鑰庫中的信息的完整性  *
* 尚未經過驗證!  為了驗證其完整性, *
* 必須提供密鑰庫口令。                  *
*****************  WARNING WARNING WARNING  *****************

可以看出,該密碼的作用是為了維護信息的完整性

具體的工作機制,在stackoverflow中有人做了解答:https://stackoverflow.com/questions/2343691/do-you-not-need-a-password-to-access-a-truststore-made-with-the-java-keytool


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM