虽然进口.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
这可能意味着:
- 在
cacerts
你已经有别名mb_ca入口 - 在
.p12
你没有用别名mb_ca入口
尽量做到以下几点:
使用-list
看到的现有条目.p12
和他们的别名。 适合您的例子将是这样的: keytool -list -keystore /home/sogadm/MB_copy/MB_client.p12 -storepass 123456 -storetype PKCS12 -v
-delete
在现有mb_ca进入cacerts
,如果是错误的,或者如果你不需要它
- 使用
-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
希望能帮助到你。