2014-09-19 61 views
2

我試圖創建命令行證書的密鑰存儲文件,但它給了我一個例外:創建證書的密鑰存儲文件AES 128

c:\Program Files\Java\jre7\bin>keytool.exe -genkey -alias srccodes -keyalg AES - 
keystore C:\srccodes.jks -keysize 128 
Enter keystore password: 
Re-enter new password: 
keytool error: java.lang.Exception: Cannot derive signature algorithm 
+1

嘗試[Portecle](http://portecle.sourceforge.net/)。 – pepo 2014-09-19 06:56:01

回答

6

-genkey選項是用於生成公鑰和關聯的私鑰,所以它只適用於非對稱算法(AES是對稱的,所以你不能使用-genkey)。使用-genseckey代替。還要注意的是JKS不能存儲非公開密鑰對,所以你必須使用JCEKS格式,指定該加-storeType JCEKS,最後你的命令必須是:

keytool.exe -genseckey-alias srccodes -keyalg AES -keystore C:\srccodes.jceks -keysize 128 -storeType JCEKS

欲瞭解更多信息看一看:Keytool documentation

希望這會有所幫助,

+0

謝謝你,我創建了存儲文件成功,但我有另一個問題。它的描述太長,我插入新的答案,請閱讀並幫助我。:) – 2014-09-19 16:25:56

+1

@LêĐứcNguyên關於你的新問題,你不能發佈它作爲一個答案,除了我認爲你必須問這是第一因爲答案有點不同的,所以你必須問一個新的問題,但是我給你的答案,如果你想在tomcat中配置SSL,你需要和RSA密鑰不是AES,用keytool使用這個命令產生這個:'keytool.exe -genkey -alias srccodes - keyalg RSA -keystore C:\ srccodes.jks -keysize 2048'。如果答案可以幫助你,請接受':)'。 – albciff 2014-09-19 20:21:23

+0

我已經通過RSA創建了存儲文件,但是當在端口8433上運行tomcat時,它有通知證書沒有驗證。所以我必須創建一個128位或更多的密鑰庫文件。 – 2014-09-20 14:57:14