9

我有一个需要通过别名引用的 pfx 证书。问题是 keytool 找不到该别名,即使它显示在列表中。

keytool -list -keystore temp.pfx -storetype pkcs12

给了我这个:

...
0c5fc7cef279ca390acd2d6bac9ffcf8_ba0cbbb3-323d-4394-8e76-47838adb2a9c, 08/03/2013, PrivateKeyEntry,
...

但是每当我尝试使用 keytool 对该别名执行任何操作(即导出、重命名)时,它都会给我一个错误:

keytool error: java.lang.Exception: Alias <0c5fc7cef279ca390acd2d6bac9ffcf8_ba0cbbb3-323d-4394-8e76-47838adb2a9c> does not exist

有任何想法吗?

4

2 回答 2

13

事实证明,在检查了keytool -listvim 的输出后,我在别名的末尾发现了一个空字符(它不会打印到控制台)。一旦我将它添加到引用别名的命令中,它就起作用了:

keytool -keyclone -changealias -v -dest "new_alias" -new newpass -keystore temp.pfx -storetype pkcs12 -alias 0c5fc7cef279ca390acd2d6bac9ffcf8_ba0cbbb3-323d-4394-8e76-47838adb2a9c$'\x00'

最后才是真正重要的地方:$'\x00'代表 bash 中的空字符。请记住,这是非常依赖于 shell 的。

于 2013-03-08T19:16:13.710 回答
0

我的情况与安德烈相似,但别名是

letencryptisrgx1 [jdk]

所以使用别名“letsencryptisrgx1 [jdk]”它对我有用

于 2021-11-25T10:47:53.490 回答