java.lang.Exception: 回復(fù)中的公用密鑰與 keystore 不符 (2011-12-30 18:54)
用keytool命令導(dǎo)入證書時(shí)報(bào),keytool錯(cuò)誤: java.lang.Exception: 回復(fù)中的公用密鑰與 keystore 不符
你的home目錄下是否還有.keystore存在
Anddy (架構(gòu)師) 2010-03-19 1、導(dǎo)入的證書是否正確? 2、導(dǎo)入證書的格式是否正確?(keytool 不可以直接導(dǎo)入p7b格式的證書) xiaolongfeixiang (資深架構(gòu)師) 2010-03-19 keytool工具使用詳解
1、生成密鑰,并以證書文件保存 keytool -genkey -alias bogus -keysize 512 -validity 3650 -keyalg RSA -dname "CN=bogus.com, OU=XXX CA, O=Bogus Inc, L=Stockholm, S=Stockholm, C=SE" -keypass boguspw -storepass boguspw -keystore sean.cert 2、 產(chǎn)生密鑰 D:\>keytool -genkey -alias wenger -keysize 1024 -keypass abcdef -keystore myKeys tore -storepass abcdef -dname "CN=chen sr, OU=tanglab, O=lab, L=gz, ST=gd, C=cn" 3、 導(dǎo)出密鑰,用證書的形式保存 D:\>keytool -export -alias wenger -file mycert.cert -keystore myKeystore -storepass abcdef 保存在文件中的認(rèn)證 <mycert.cert> JDK中keytool常用命令 -genkey 在用戶主目錄中創(chuàng)建一個(gè)默認(rèn)文件".keystore",還會(huì)產(chǎn)生一個(gè)mykey的別名,mykey中包含用戶的公鑰、私鑰和證書 -alias 產(chǎn)生別名 -keystore 指定密鑰庫的名稱(產(chǎn)生的各類信息將不在.keystore文件中 -keyalg 指定密鑰的算法 -validity 指定創(chuàng)建的證書有效期多少天 -keysize 指定密鑰長度 -storepass 指定密鑰庫的密碼 -keypass 指定別名條目的密碼 -dname 指定證書擁有者信息 例如: "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn" -list 顯示密鑰庫中的證書信息 keytool -list -v -keystore sage -storepass .... -v 顯示密鑰庫中的證書詳細(xì)信息 -export 將別名指定的證書導(dǎo)出到文件 keytool -export -alias caroot -file caroot.crt -file 參數(shù)指定導(dǎo)出到文件的文件名 -delete 刪除密鑰庫中某條目 keytool -delete -alias sage -keystore sage -keypasswd 修改密鑰庫中指定條目口令 keytool -keypasswd -alias sage -keypass .... -new .... -storepass ... -keystore sage -import 將已簽名數(shù)字證書導(dǎo)入密鑰庫 keytool -import -alias sage -keystore sagely -file sagely.crt 導(dǎo)入已簽名數(shù)字證書用keytool -list -v 以后可以明顯發(fā)現(xiàn)多了認(rèn)證鏈長度,并且把整個(gè)CA鏈全部打印出來。 1.證書的顯示 -list [-v | -rfc] [-alias <alias>] [-keystore <keystore>] [-storepass <storepass>] [-storetype <storetype>] [-provider <provider_class_name>] 例如:keytool -list -v -alias RapaServer -keystore cacerts -storepass 12345678 keytool -list -v -keystore d2aapplet.keystore -storepass 12345678 -storetype IAIKKeystore 2.將證書導(dǎo)出到證書文件 例如:keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer 將把證書庫 monitor.keystore 中的別名為 monitor 的證書導(dǎo)出到 monitor.cer 證書文件中,它包含證書主體的信息及證書的公鑰,不包括私鑰,可以公開。 keytool -export -keystore d2aApplet.keystore -alias RapaServer -file Rapa.cert -storetype IAIKKeystore 3.將keystore導(dǎo)入證書中 這里向Java默認(rèn)的證書 cacerts導(dǎo)入Rapa.cert keytool -import -alias RapaServer -keystore cacerts -file Rapa.cert -keystore cacerts 4.證書條目的刪除 keytool的命令行參數(shù) -delete 可以刪除密鑰庫中的條目,如: keytool -delete -alias RapaServer -keystore d2aApplet.keystore ,這條命令將 d2aApplet.keystore 中的 RapaServer 這一條證書刪除了。 5.證書條目口令的修改 使用 -keypasswd 參數(shù),如:keytool -keypasswd -alias RapaServer -keystore d2aApplet.keystore,可以以交互的方式修改 d2aApplet.keystore證書庫中的條目為 RapaServer 的證書。 Keytool -keypasswd -alias RapaServer -keypass 654321 -new 123456 -storepass 888888 -keystore d2aApplet.keystore這一行命令以非交互式的方式修改庫中別名為 RapaServer 的證書的密碼為新密碼 654321,行中的 123456 是指該條證書的原密碼, 888888 是指證書庫的密碼。 http://blog.csdn.net/guo_rui22/archive/2009/03/01/3947716.aspx lovewhzlq (CTO) 2010-03-19 如果.keystore存在那么把他刪除掉,后再執(zhí)行 或者刪除"%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS 再執(zhí)行 |
|