<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Stängd. Denna fråga är utanför ämnet . För närvarande accepteras inte svar.

Kommentarer

Svar

Det är väldigt enkelt att göra detta med openssl.

Säg att foo.crt är din crt-fil. Sedan kommer

$ openssl x509 -in foo.crt -text -noout 

att skriva ut all nödvändig information (emittent, pkey: modulus rsa och exponent, signaturalgoritm etc) i textformat.

Om du ger

$ openssl x509 -in foo.crt -text -noout > foo.txt 

sparar du den tidigare informationen i foo.txt-filen.

För att svara på din fråga

Kan du berätta för mig hur kan jag extrahera den här offentliga nyckeln från den här filen som är klar för användning i hexadecimalt (byte) format?

ett sätt att göra detta är att först exportera den offentliga nyckeln och sedan konvertera den till hexformat

 $ openssl x509 -in foo.crt -noout -pubkey > foo-public $ openssl rsa -noout -text -in foo-public -pubin > foo-public-hex 

Nu foo-public- hex innehåller din nyckel i hex-format.

Sedan skrev du

Jag vet att i den här filen finns p, q och resten men Jag vill att den slutliga offentliga nyckeln är klar att användas.

Jag är inte säker på att jag följer dig … den privata nyckeln finns inte i .crt-filen utan i .key-fil och server skickade den inte till klienten.

Om foo.key är din privata nyckel så ger du

$openssl rsa -noout -text -in foo.key 

du kommer att se den privata exponenten och primtalen p, q i hexform.

Kommentarer

  • Nitpick: openssl-kommandoraden är tillgänglig för och fungerar på alla Unixes och Windows, inte bara LInux. VMS är lite annorlunda men inte mycket.
  • Lämna ett svar

    Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *