2013-03-08 24 views
7

मुझे एक पीएफएक्स प्रमाण पत्र मिला है जिसे मुझे उपनाम द्वारा संदर्भित करने की आवश्यकता है। समस्या यह है कि keytool उस उपनाम को नहीं ढूंढ सकता है, भले ही यह सूची में दिखाया गया हो।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 

कोई विचार?

उत्तर

10

यह पता चला है कि 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' बैश में शून्य वर्ण के लिए खड़ा है। ध्यान रखें कि यह सुंदर खोल-निर्भर है।

संबंधित मुद्दे