2013-04-12 75 views
2

在導入.p12cacerts,我面臨着以下問題。第一行說別名已存在,然後當我嘗試覆蓋它說沒有找到別名。請幫我解決這個問題。無法證書導入的.p12到cacerts的

/usr/java/default/jre/bin/keytool -importkeystore -deststorepass changeit -destkeystore  /usr/java/default/jre/lib/security/cacerts -srckeystore /home/sogadm/MB_copy/MB_client.p12 -srcstoretype pkcs12 -srcstorepass 123456 -alias mb_ca 
Existing entry alias mb_ca exists, overwrite? [no]: yes 
keytool error: java.lang.Exception: Alias <mb_ca> does not exist 
+0

你有.p12文件任何私鑰?你正在使用哪種JRE版本? – user1516873

回答

5

這可能意味着:

  1. cacerts已經.p12一個別名爲mb_ca
  2. 進入你有別名的項mb_ca

儘量做到以下幾點:

  1. 使用-list看到.p12及其別名現有條目。適合您的例子將是這樣的: keytool -list -keystore /home/sogadm/MB_copy/MB_client.p12 -storepass 123456 -storetype PKCS12 -v

  2. -delete現有mb_cacacerts項,如果是錯誤的,或者如果你不需要它

  3. 使用-srcalias-destalias爲更好地控制

其實,如果cacerts是一個受信任的證書存儲你不應該導入它的私鑰進入FR OM您.p12。首先導出公鑰,然後導入到cacerts

keytool -exportcert -keystore /home/sogadm/MB_copy/MB_client.p12 -storepass 123456 -storetype PKCS12 -alias p12_entry_alias -file /home/sogadm/MB_copy/MB_client.cer 

keytool -importcert -keystore /usr/java/default/jre/lib/security/cacerts -storepass changeit -alias mb_client -file /home/sogadm/MB_copy/MB_client.cer 

希望它能幫助。

+0

無法列出的.p12文件的別名。請幫助我使用它的命令 –

+0

這應該起作用'keytool -list -keystore your_p12_file.p12 -storepass p12_password -storetype PKCS12 -v' –

+2

順便說一下,您正試圖將'.p12'導入'cacerts'。 'p.12'是帶有一個私鑰條目的密鑰庫。 'cacerts'是可信證書商店的通用名稱。通常情況下,你不應該混合這兩種條目。要導入「p.12」條目的公鑰,先導出它,然後導入到「cacerts」。我會將這些命令添加到答案中。 –