2015-07-05 61 views
5

Nie można zmienić hasła magazynu kluczy PKCS za pomocą keytool (java 8). Gdy próbowałem zmienić hasło klucza:jak zmienić hasło magazynu kluczy PKCS12 za pomocą keytool?

keytool -keypasswd -keystore keystore.p12 -storetype PKCS12 -storepass oldpass -keypass oldpass -new newpass 
keytool error: java.lang.UnsupportedOperationException: -keypasswd commands not supported if -storetype is PKCS12 

Oznacza to, że hasła klucza nie można zmienić w magazynie kluczy PKCS12. Potem próbowałem zmienić hasło magazynu kluczy:

keytool -storepasswd -keystore keystore.p12 -storetype PKCS12 -storepass oldpass -new newpass 
Warning: Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified -new value. 
keytool error: java.io.FileNotFoundException: keystore.p12 (Access is denied) 

To oznacza, musimy zmienić hasło magazynu kluczy i keypassword razem. Ale nie ma polecenia, aby je zmienić. Co mogę zrobić?

Odpowiedz

10

Można zaimportować plik PKCS12 do innego PKCS12, w którym można podać nowe hasło dla nowego pliku PKCS12. Następnie możesz użyć nowego pliku PKCS12 lub usunąć poprzednie i zmienić nazwę nowego pliku ze starą nazwą pliku. Nie jest to prosta droga do przodu, ale spełnia przykładowy kod objective.A podano bewlow

keytool -importkeystore -srckeystore DocCA.p12 -srcstoretype PKCS12 -srcstorepass 123456 -destkeystore DocCA2.p12 -deststoretype PKCS12 -deststorepass 11223344 

Tutaj, DoCA.p12 jest istniejąca PKCS12 z hasłem 123456, który jest eksportowany w DocCA2.p12 plik z hasłem 11223344

+0

To jest obejście tego problemu. Zaimplementowałem na razie, ponieważ nie ma innych opcji. –

+0

Tak, jeśli znajdę odpowiednie rozwiązanie, dam ci znać. Zrób to samo dla mnie. Pozdrawiam :) –

+3

Znaleźliśmy, że jego prowadzi do uszkodzonego pliku pkcs12, jak na: http://www.herongyang.com/PKI/Intermediate-CA-OpenSSL-pkcs12-Decrypt-Error.html, dodając "-destkeypass 11223344" poprawia de problem. – erny