Lukket. Dette spørgsmål er uden for emnet . Det accepteres i øjeblikket ikke svar.

Kommentarer

  • Dette synes mere at være et spørgsmål til Stack Overflow. Se. for eksempel. stackoverflow.com/questions/17143606/…
  • Det ville være rimeligt at implementere med openssl api så meget funktionalitet som muligt.

Svar

Det er meget nemt at gøre dette med openssl.

Sig, at foo.crt er din crt-fil. Derefter vil

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

udskrive alle nødvendige oplysninger (udsteder, pkey: modul rsa og eksponent, signaturalgoritme osv.) I tekstformat.

Hvis du giver

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

, gemmer du de tidligere oplysninger i foo.txt-filen.

For at besvare dit spørgsmål

Kan du fortælle mig, hvordan kan jeg udtrække en offentlig nøgle fra denne fil, der er klar til brug i hexadecimal (byte) format?

en måde at gøre dette på er først at eksportere den offentlige nøgle og derefter konvertere den til hex-form

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

Nu foo-offentlig- hex indeholder din nøgle i hex-format.

Så skrev du

Jeg ved, at i denne fil er p, q og resten, men Jeg vil have den endelige offentlige nøgle klar til brug.

Jeg er ikke sikker på, at jeg følger dig … den private nøgle er ikke i .crt-filen, men i .key-fil og server sendte den ikke til klienten.

Hvis foo.key er din private nøgle, så giver

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

vil du se den private eksponent og primtalerne p, q i hex-form.

Kommentarer

  • Nitpick: openssl kommandolinje er tilgængelig for og fungerer det samme på alle Unixes og Windows, ikke kun LInux. VMS er lidt anderledes, men ikke meget.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *