Jest to bardzo proste dzięki openssl.
Powiedz, że foo.crt to Twój plik crt. Następnie
$ openssl x509 -in foo.crt -text -noout
wypisze wszystkie niezbędne informacje (wystawca, pkey: moduł rsa i wykładnik, algorytm podpisu itp.) W formacie tekstowym.
Jeśli podasz
$ openssl x509 -in foo.crt -text -noout > foo.txt
, zapiszesz poprzednie informacje w pliku foo.txt.
Aby odpowiedzieć na twoje pytanie
Czy możesz mi powiedzieć, jak mogę wyodrębnić z tego pliku klucz publiczny gotowy do użytku w formacie szesnastkowym (bajtowym)?
jednym ze sposobów jest najpierw wyeksportowanie klucza publicznego, a następnie przekonwertowanie go do postaci szesnastkowej
$ openssl x509 -in foo.crt -noout -pubkey > foo-public $ openssl rsa -noout -text -in foo-public -pubin > foo-public-hex
Teraz foo-public- hex zawiera twój klucz w formacie szesnastkowym.
Potem napisałeś
Wiem, że w tym pliku jest p, q i reszta, ale Chcę, aby końcowy klucz publiczny był gotowy do użycia.
Nie jestem pewien, czy Cię śledzę… klucza prywatnego nie ma w pliku .crt, ale Plik .key i serwer nie wyślą go do klienta.
Jeśli foo.key jest Twoim kluczem prywatnym, to
$openssl rsa -noout -text -in foo.key
zobaczysz prywatny wykładnik i liczby pierwsze p, q w postaci szesnastkowej.
Komentarze