Este foarte ușor să faceți acest lucru cu openssl.
Spuneți foo.crt este fișierul dvs. crt. Apoi,
$ openssl x509 -in foo.crt -text -noout
va imprima toate informațiile necesare (emitent, pkey: modul rsa și exponent, algoritm de semnătură etc.) în format text.
Dacă dați
$ openssl x509 -in foo.crt -text -noout > foo.txt
veți salva informațiile anterioare în fișierul foo.txt.
Pentru a răspunde la întrebarea dvs.
Îmi puteți spune cum pot extrage din acest fișier cheia publică gata de utilizare în format hexazecimal (octet)?
o modalitate de a face acest lucru este mai întâi să exportați cheia publică și apoi să o convertiți în formă hexagonală
$ openssl x509 -in foo.crt -noout -pubkey > foo-public $ openssl rsa -noout -text -in foo-public -pubin > foo-public-hex
Acum foo-public- hex conține cheia dvs. în format hex.
Apoi ați scris
Știu că în acest fișier este p, q și rest, dar Vreau cheia publică finală gata de utilizare.
Nu sunt sigur că te urmez … cheia privată nu se află în fișierul .crt ci în Fișierul .key și serverul nu l-au trimis clientului.
Dacă foo.key este cheia dvs. privată, atunci dați
$openssl rsa -noout -text -in foo.key
veți vedea exponentul privat și primele p, q în formă hexagonală.
Comentarii
- Nitpick: linia de comandă openssl este disponibilă și funcționează la fel pe toate Unixes și Windows, nu doar pe LInux. VMS este puțin diferit, dar nu mult.