keytool找不到别名

And*_*dre 8 ssl alias keytool

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

keytool -list -keystore temp.pfx -storetype pkcs12
Run Code Online (Sandbox Code Playgroud)

给我这个:

...
0c5fc7cef279ca390acd2d6bac9ffcf8_ba0cbbb3-323d-4394-8e76-47838adb2a9c, 08/03/2013, PrivateKeyEntry,
...
Run Code Online (Sandbox Code Playgroud)

但每当我尝试使用keytool对该别名做任何事情(即导出,重命名)时,它都会给我一个错误:

keytool error: java.lang.Exception: Alias <0c5fc7cef279ca390acd2d6bac9ffcf8_ba0cbbb3-323d-4394-8e76-47838adb2a9c> does not exist
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

And*_*dre 12

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

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

最终结果才是真正重要的:$'\x00'在bash中代表空字符.请记住,这非常依赖于shell.