2013-03-08 59 views
7

我有一個我需要通過別名引用的pfx證書。問題是keytool無法找到該別名,即使它顯示在列表中。keytool找不到別名

keytool -list -keystore temp.pfx -storetype pkcs12 

給了我這樣的:

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

但每當我嘗試使用密鑰工具與別名做任何事情(即,導出,重命名),它給了我一個錯誤:

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

任何想法?

回答

10

事實證明,在檢查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空字符。請記住,這是非常依賴外殼的。