Vai kāds var man pateikt pareizo veidu/komandu, kā no .pem
faila iegūt/konvertēt sertifikāta .crt
un privātās atslēgas .key
failus? Es tikko izlasīju, ka tie ir savstarpēji aizstājami, bet nezinu, kā.
Konvertēšana, izmantojot OpenSSL Šīs komandas ļauj konvertēt sertifikātus un atslēgas dažādos formātos, lai tie būtu saderīgi ar noteikta veida serveriem vai programmatūru.
DER faila (.crt .cer .der) konvertēšana uz PEM openssl x509 -inform der -in certificate.cer -out certificate.pem
PEM faila konvertēšana uz DER openssl x509 -outform der -in certificate.pem -out certificate.der
PKCS#12 faila (.pfx .p12), kas satur privāto atslēgu un sertifikātus, konvertēšana PEM formātā. openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes Var pievienot -nocerts, lai izvadītu tikai privāto atslēgu, vai -nokeys, lai izvadītu tikai sertifikātus.
Konvertējiet PEM sertifikāta failu un privāto atslēgu uz PKCS#12 (.pfx .p12) openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Konvertēt PEM uz CRT (.CRT fails) openssl x509 -outform der -in certificate.pem -out certificate.crt OpenSSL konvertēt PEM
Konvertēt PEM uz DER openssl x509 -outform der -in certificate.pem -out certificate.der
Konvertēt PEM uz P7B openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
Konvertēt PEM uz PFX openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt OpenSSL konvertēt DER
Konvertēt DER uz PEM openssl x509 -inform der -in certificate.cer -out certificate.pem OpenSSL konvertēt P7B
Konvertēt P7B uz PEM openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Konvertēt P7B uz PFX openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer OpenSSL konvertēt PFX
Konvertēt PFX uz PEM openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes Generēt rsa atslēgas ar OpenSSL
Izmantojot OpenSSL komandrindā, vispirms ir jāģenerē publiskā un privātā atslēga, šis fails jāaizsargā ar paroli, izmantojot argumentu -passout, šim argumentam var būt dažādas formas, tāpēc par to skatiet OpenSSL dokumentāciju. openssl genrsa -out private.pem 1024
Tiek izveidots atslēgas fails ar nosaukumu private.pem, kas izmanto 1024 bitus. Šajā failā patiesībā ir gan privātā, gan publiskā atslēga, tāpēc no šī faila jāizraksta publiskā atslēga: PEM -public.pem -out public.pem -outform PEM -pubout -pubout vai
openssl rsa -in private.pem -pubout > public.pem
vai
openssl rsa -in private.pem -pubout -out public.pem
Tagad jums būs public.pem, kas satur tikai jūsu publisko atslēgu, un jūs varat to brīvi kopīgot ar trešajām pusēm. Jūs varat to visu izmēģināt, vienkārši šifrējot kaut ko pats, izmantojot savu publisko atslēgu, un pēc tam atšifrējot, izmantojot privāto atslēgu, vispirms mums ir nepieciešams šifrējams datu gabals:
Piemēram, ir nepieciešams šifrēt failu: echo 'too many secrets' > file.txt
Tagad jums ir daži dati failā file.txt, šifrēsim tos, izmantojot OpenSSL un publisko atslēgu: OpenSsl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
Tādējādi tiek izveidota šifrēta file.txt versija, nosaucot to par file.ssl, ja apskatiet šo failu, tas ir tikai binārais junk, nekas ļoti noderīgs, lai nevienam. Tagad varat to atšifrēt, izmantojot privāto atslēgu: Atveriet failu.ssl, lai to atšifrētu: openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt.
Tagad jums būs atšifrēts fails decrypted.txt: failu: cat decrypted.txt |output -> pārāk daudz noslēpumu RSA TOOLS opcijas OpenSSL
NAME
rsa - RSA atslēgu apstrādes rīks
SYNOPSIS
openssl rsa [-help] [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-engine id]
APRAKSTS
Komanda rsa apstrādā RSA atslēgas. Tās var konvertēt starp dažādām formām un izdrukāt to sastāvdaļas. Ņemiet vērā, ka šī komanda izmanto tradicionālo ar SSLeay saderīgo formātu privātās atslēgas šifrēšanai: jaunākās lietojumprogrammās jāizmanto drošāks PKCS#8 formāts, izmantojot pkcs8 utilītu.
KOMANDAS OPCIJAS -help
Izdrukāt lietošanas paziņojumu. -inform DER|NET|PEM Tas norāda ievades formātu. DER opcija izmanto ASN1 DER kodētu formu, kas ir saderīga ar PKCS#1 RSAPrivateKey vai SubjectPublicKeyInfo formātu. PEM forma ir noklusējuma formāts: tā sastāv no DER formāta base64 kodējuma ar papildu galvenes un kājenes rindām. Ievadē tiek pieņemtas arī PKCS#8 formāta privātās atslēgas. NET forma ir formāts, kas aprakstīts sadaļā NOTES. -outform DER|NET|PEM Tas norāda izejas formātu, opcijas ir tāda pati nozīme kā opcijai -inform. -in faila nosaukums Tas norāda ievades faila nosaukumu, no kura nolasīt atslēgu, vai standarta ievadi, ja šī opcija nav norādīta. Ja atslēga ir šifrēta, tiks pieprasīta piekļuves frāze. -passin arg ievades faila paroles avots. Sīkāku informāciju par arg formātu skatīt openssl sadaļā PASS PHRASE ARGUMENTI. -out faila nosaukums Tas norāda izejas faila nosaukumu, uz kuru ierakstīt atslēgu, vai standarta izejas failu, ja šī opcija nav norādīta. Ja ir iestatītas šifrēšanas opcijas, tiks pieprasīta piekļuves frāze. Izvades faila nosaukumam nevajadzētu būt tādam pašam kā ievades faila nosaukumam. -passout parole izejas faila paroles avots. Sīkāku informāciju par arg formātu skatīt openssl sadaļā PASS PHRASE ARGUMENTI. -aes128|-aes192|-aes256|-camellia128|-camellia192|-camellia256|-des|-des3|-idea Šīs opcijas šifrē privāto atslēgu ar norādīto šifru pirms tās izvadīšanas. Tiek pieprasīta piekļuves frāze. Ja nav norādīta neviena no šīm opcijām, atslēga tiek ierakstīta atklātā tekstā. Tas nozīmē, ka, izmantojot rsa utilītu, lai nolasītu šifrētu atslēgu bez šifrēšanas opcijas, var no atslēgas noņemt caurlaides frāzi vai, iestatot šifrēšanas opcijas, to var izmantot, lai pievienotu vai mainītu caurlaides frāzi. Šīs opcijas var izmantot tikai ar PEM formāta izejas failiem. -text papildus kodētajai versijai izdrukā dažādas publiskās vai privātās atslēgas sastāvdaļas atklātā tekstā. -noout šī opcija neļauj izvadīt kodēto atslēgas versiju. -modulus šī opcija izraksta atslēgas moduļa vērtību. -check šī opcija pārbauda RSA privātās atslēgas konsekvenci. -pubin pēc noklusējuma no ievades faila tiek nolasīta privātā atslēga: ar šo opciju tās vietā tiek nolasīta publiskā atslēga. -pubout pēc noklusējuma tiek izvadīta privātā atslēga: ar šo opciju tās vietā tiks izvadīta publiskā atslēga. Šī opcija tiek iestatīta automātiski, ja ievades kods ir publiskā atslēga. -RSAPublicKey_in, -RSAPublicKey_out tāpat kā -pubin un -pubout, tikai tā vietā tiek izmantots RSAPublicKey formāts. -engine id norādot dzinēju (ar tā unikālo id virkni), rsa mēģinās iegūt funkcionālu atsauci uz norādīto dzinēju, tādējādi vajadzības gadījumā to inicializējot. Pēc tam šis dzinējs tiks iestatīts kā noklusējuma iestatījums visiem pieejamajiem algoritmiem.
PIEZĪMES PEM privātās atslēgas formātā izmanto galvenes un pēdējās rindas: -----BEGIN RSA PRIVĀTĀ ATSLĒGA----- -----PABEIGT RSA PRIVĀTO ATSLĒGU----- PEM publiskās atslēgas formātā izmanto galvenes un pēdējās rindas: -----BEGIN PUBLIC KEY----- -----END PUBLIC KEY----- PEM RSAPublicKey formātā izmanto galvenes un pēdējās rindas: -----BEGIN RSA PUBLIC KEY----- -----END RSA PUBLIC KEY-----
NET forma ir formāts, kas ir saderīgs ar vecākiem Netscape serveriem un Microsoft IIS .key failiem, un tajā šifrēšanai tiek izmantots nesālīts RC4. Tā nav īpaši droša, tāpēc to vajadzētu izmantot tikai nepieciešamības gadījumā. Dažās jaunākās IIS versijās eksportētajos .key failos ir papildu dati. Lai tos izmantotu ar utilītu, apskatiet failu ar bināro datu redaktoru un meklējiet virkni "private-key", pēc tam izsekojiet līdz baitu secībai 0x30, 0x82 (tā ir ASN1 SEQUENCE). Nokopējiet visus datus no šī punkta uz citu failu un izmantojiet to kā ievadi rsa palīgprogrammai ar opciju -inform NET. PIEMĒRI RSA privātās atslēgas piekļuves frāzes noņemšana: OpenSsl rsa -in key.pem -out keyout.pem. Privātās atslēgas šifrēšana, izmantojot trīskāršo DES: -des3 -out keyout.pem: openssl rsa -in key.pem -des3 -out keyout.pem Privātās atslēgas konvertēšana no PEM uz DER formātu: openssl rsa -in key.pem -outform DER -out keyout.der Privātās atslēgas komponentu izdrukāšana uz standarta izvades: openssl rsa -in key.pem -text -noout Lai izvadītu tikai privātās atslēgas publisko daļu: openssl rsa -in key.pem -pubout -out pubkey.pem -izvadīt publisko atslēgu.pem. Privātās atslēgas publiskās daļas izvadīšana RSAPublicKey formātā: Pubkey.pem: openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem.
Atslēgas un cert iegūšana no pem faila:
openssl pkey -in foo.pem -out foo.key
Vēl viena atslēgas iegūšanas metode...
openssl rsa -in foo.pem -out foo.key
openssl crl2pkcs7 -nocrl -certfile foo.pem | openssl pkcs7 -print_certs -out foo.cert
openssl x509 -in foo.pem -outform DER -out first-cert.der