Jak przekonwertować klucz prywatny na klucz prywatny RSA?
Pozwól, że najpierw wyjaśnię moje pytanie. Kupiłem certyfikat od urzędu certyfikacji i użyłem następującego formatu do wygenerowania csr i klucza prywatnego:
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Kiedy otwieram serwer.plik klucza, widzę, że zaczyna się od "- - - - - BEGIN PRIVATE KEY - - - - - "
Używam certyfikatu SSL na moim serwerze i wszystko wygląda dobrze.
Teraz chcę wgrać ten sam cert do AWS IAM, aby móc go używać przez Beanstalk load balancer. Używam następującej komendy z tego aws doc http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth
iam-servercertupload -b public_key_certificate_file -k privatekey.pem -s certificate_object_name
Zmieniam nazwy plików cert zgodnie z wymaganiami, ale ciągle pojawia się błąd: "400 MalformedCertificate Invalid Private Key."
Ciekawostką jest to, że na stronie Doc aws przykładowy klucz prywatny, który pokazują, zaczyna się od " - - - - - - - Begin RSA Private Key--------"
Czy istnieje sposób, aby przekonwertować mój klucz prywatny na klucz prywatny RSA przy użyciu openssl?
2 answers
Nowsze wersje OpenSSL mówią "BEGIN PRIVATE KEY", ponieważ zawierają klucz prywatny + OID, który identyfikuje typ klucza (jest to znany jako format PKCS8). Aby uzyskać stary klucz stylu (znany jako PKCS1 lub tradycyjny format OpenSSL), możesz to zrobić:
openssl rsa -in server.key -out server_new.key
Alternatywnie, jeśli masz klucz PKCS1 i chcesz PKCS8:
openssl pkcs8 -topk8 -nocrypt -in privkey.pem
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-07 03:41:33
Może to być pomocne (nie wypisuj dosłownie ukośników '\' w poleceniach, mają one wskazywać, że "wszystko musi być w jednej linii"):
Wydaje się, że wszystkie polecenia (w kolorze szarym) przyjmują dowolny typ pliku klucza (w kolorze zielonym) jako argument "in". Co jest miłe.
Oto ponownie komendy dla łatwiejszego kopiowania-wklejania:
openssl rsa -in $FF -out $TF
openssl rsa -aes256 -in $FF -out $TF
openssl pkcs8 -topk8 -nocrypt -in $FF -out $TF
openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA256 -in $FF -out $TF
I
openssl rsa -check -in $FF
openssl rsa -text -in $FF
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-27 08:39:04