Mam plik kluczy Java (plik .jks) zawierający pojedynczy certyfikat. Jak mogę utworzyć plik .pfx z tego magazynu kluczy?Jak mogę utworzyć plik PFX z magazynu kluczy Java?
Odpowiedz
Ten facet() wydaje się być napisany trochę klasy Java i plik wsadowy z dobrymi instrukcjami, aby to zrobić tutaj: http://www.crionics.com/products/opensource/faq/signFree.htm#DownloadTools
Jeśli chcesz to zrobić samodzielnie kluczowe linie w pliku .bat wydają się być wykorzystuje
keytool -export -rfc -keystore %KEYSTORE% -storepass %PASSWORD% -alias %ALIAS% > %CERT_64%
java -classpath %JAVACLASSPATH% ExportPrvKey %KEYSTORE% %PASSWORD% %ALIAS% > %PKEY_8%
openssl enc -in %PKEY_8% -a >> %PKEY_64%
openssl pkcs12 -inkey %PKEY_64% -in %CERT_64% -out %CERT_P12% -export
gdzie ExportPrvKey robi etap wyciągania klucza prywatnego z magazynu kluczy.
Dziękujemy! Działa ładnie :) –
To powinno uzyskać więcej upvotes. To najszybsze rozwiązanie z najmniejszą liczbą kliknięć, po prostu odrobina czarnej magii cmd i jedyna, którą znalazłem do tej pory, która działa z wieloma aliasami wewnętrznymi TrustedCertEntry. – Traubenfuchs
Idealny! Wskazówki krok po kroku. – juckobee
z Java 6 r keytool
posiada opcję -importkeystore
, który powinien być w stanie przerobić sklep JKS do PKCS # 12 możliwy (.p12/pfx):
keytool -importkeystore -srckeystore thekeystore.jks \
-srcstoretype JKS \
-destkeystore thekeystore.pfx \
-deststoretype PKCS12
Otrzymuję te błędy, gdy używam tego polecenia: Problem podczas importowania wpisu dla aliasu root: java.security.KeyStoreException: TrustedCertEntry nie jest obsługiwany. Widziałeś to? – mikebz
@mikebz Tak, nie możesz mieć wpisów zawierających tylko certyfikaty w magazynie PKCS # 12, działa tylko dla wpisów, dla których istnieje również klucz prywatny. – Bruno
można wyeksportować plik PFX tym kluczem prywatnym, za pomocą następującego polecenia:
keytool -importkeystore -deststorepass secret -destkeypass secret -destkeystore KEYSTOREFILE.jks -srckeystore PFXFILE.pfx -srcstoretype PKCS12 -srcstorepass secret
Dzięki za odpowiedź. Natrafiłem też na stronę, z którą łączyłeś się przez Google i wypróbowałeś ją. Jednak ostatni krok nie udaje mi się. openssl kończy się komunikatem: nie można załadować klucza prywatnego Wszelkie dodatkowe wskazówki byłyby bardzo cenne! –
Zobacz plik klucza prywatnego (% PKEY_64%). Czy faktycznie istnieje? Googling wydaje się, że najczęstszymi błędami są błędy w niewłaściwym katalogu lub złym formacie. Którą wersję openssl masz? –
Plik PKEY_64 istnieje i wygląda dobrze (zawiera 858 "losowych" znaków ASCII). Używam openssl 0.9.7d na pudełku Linux. –