我有一个我需要通过别名引用的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
有什么想法吗?
答案 0 :(得分:12)
事实证明,在检查了vim上keytool -list
的输出后,我在别名的末尾找到了一个空字符(不会打印到控制台)。一旦我将它添加到引用别名的命令,它就可以工作:
keytool -keyclone -changealias -v -dest "new_alias" -new newpass -keystore temp.pfx -storetype pkcs12 -alias 0c5fc7cef279ca390acd2d6bac9ffcf8_ba0cbbb3-323d-4394-8e76-47838adb2a9c$'\x00'
最终真正重要的是:$'\x00'
代表bash中的空字符。请记住,这与外壳有关。