Istnieje wiele zasobów na ten temat, ale nie znalazłem żadnego, który dotyczyłby tego nieco szczególnego przypadku.
Mam 4 pliki;
- privatekey.pem
- certyfikat.pem
- intermed_rapidssl.pem
- ca_geotrust_global.pem
I chcę je zaimportować do świeżego magazynu kluczy.
Niektóre witryny sugerują użycie formatu DER i importowanie ich jeden po drugim, ale nie powiodło się, ponieważ klucz nie został rozpoznany.
Inna strona zasugerowała specjalną klasę „ImportKey” do uruchomienia w celu importowania i działało to do momentu, gdy zobaczyłem, że łańcuch jest zepsuty. Czyli długość łańcucha na certyfikacie wynosi 1, ignorując półprodukt i ok.
Niektóre strony sugerują PKCS7, ale nie mogę nawet uzyskać z tego łańcucha. Inne sugerują format PKCS12, ale jeśli chodzi o moje testy, to również nie udało się uzyskać całego łańcucha.
Wszelkie porady i wskazówki są mile widziane.
źródło
alias <root> already exists
) Czy możesz wypróbować nowy, pusty magazyn kluczy?Połącz wszystkie pliki * .pem w jeden plik pem, taki jak all.pem Następnie utwórz magazyn kluczy w formacie p12 za pomocą klucza prywatnego + all.pem
Następnie wyeksportuj p12 do jks
źródło
keytool nie zapewnia sposobu importowania certyfikatu + klucza prywatnego z jednego (połączonego) pliku, jak zaproponowano powyżej. Działa dobrze, ale importowany jest tylko certyfikat, a klucz prywatny jest ignorowany. Możesz to sprawdzić przez
keytool -list -v -keystore yourkeystore.jks
- typ wpisu twojej domeny to TrustedCertEntry, a nie PrivateKeyEntry.Aby rozwiązać początkowy problem, należy najpierw utworzyć plik kluczy PKCS # 12 za pomocą openssl (lub podobnego narzędzia), a następnie zaimportować plik kluczy
keytool -importkeystore
.źródło