3

在导入.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
4

1 回答 1

11

大概意思是:

  1. cacerts已经有一个别名为 mb_ca的条目
  2. .p12没有别名mb_ca的条目

尝试执行以下操作:

  1. 用于-list查看现有条目.p12及其别名。适应您的示例,它将是这样的: keytool -list -keystore /home/sogadm/MB_copy/MB_client.p12 -storepass 123456 -storetype PKCS12 -v

  2. -delete中的现有mb_ca条目cacerts,如果它是错误的或者您不需要它

  3. 使用-srcalias-destalias更好的控制

实际上,如果是受信任的证书存储,cacerts则不应将. .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

希望能帮助到你。

于 2013-04-12T08:20:26.897 回答