2013-03-08 9 views
7

Ho un certificato pfx che devo fare riferimento per alias. Il problema è che keytool non riesce a trovare quell'alias, anche se viene visualizzato nell'elenco.keytool non riesce a trovare alias

keytool -list -keystore temp.pfx -storetype pkcs12 

mi dà questo:

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

Ma ogni volta che provo ad usare keytool per fare qualsiasi cosa con quell'alias (vale a dire, l'esportazione, rinomina), mi dà un errore:

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

Qualche idea?

risposta

10

Si scopre che dopo aver ispezionato l'output di keytool -list su vim, ho trovato un carattere null alla fine dell'alias (che non viene stampato sulla console). Una volta ho aggiunto che al comando che fa riferimento a un alias, ha funzionato:

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

Dove alla fine è ciò che conta davvero: $'\x00' è sinonimo di carattere null in bash. Tieni presente che questo è piuttosto dipendente dalla shell.