Mogę wygenerować własny klucz prywatny i certyfikat w następujący sposób:
openssl genrsa -out privatekey.pem 2048
openssl req -new -x509 -key privatekey.pem -out g4certificate.pem -days 1095
Skopiuj + wklej części certyfikatu / klucza prywatnego do bazy danych i wykonanie testowego zestawu narzędzi zwróci pomyślną wymianę klucza HMAC.
Jednak teraz kupiłem certyfikat GlobalSign ssl i mam plik .pfx.
Jak mogę wyodrębnić równoważny klucz prywatny / certyfikat RSA podobny do tych używanych, gdy zestaw narzędzi zwrócił pomyślną wymianę klucza?
Moja próba:
Próbowałem przekonwertować plik .pfx na plik .pem za pomocą następującego polecenia:
openssl pkcs12 -nodes -in filename.pfx -out filename.pem
Wynikowy plik .pem zawiera 3 certyfikaty i klucz prywatny z nagłówkiem „----- BEGIN PRIVATE KEY -----”, a nie „----- BEGIN RSA PRIVATE KEY -----”.
Próbowałem skopiować + wkleić klucz prywatny do nowego dokumentu i zapisać go jako privatekey.key. Następnie przekonwertowano go za pomocą następującego polecenia:
openssl rsa -in privatekey.key -out privatekey_new.key
Spowoduje to utworzenie pliku z nagłówkiem „----- BEGIN RSA PRIVATE KEY -----”, który jest jak samodzielnie wygenerowany klucz RSA.
Jednak podczas próby wymiany kluczy pojawia się następujący błąd:
DEBUG [AbstractTest] - Failed:
java.security.InvalidKeyException: Wrong key usage
at javax.crypto.Cipher.init(Cipher.java:1674)
at javax.crypto.Cipher.init(Cipher.java:1580)
źródło
Odpowiedzi:
Oznacza to, że certyfikat nie może być używany do rzeczy, które próbujesz.
źródło