Bazele OpenSSL SSL certificate, chei private și cererile de a semna

Având servere în centre de date sigure din Europa. Deschideți nor VPS server / VDS pe un SSD rapid în 1 minut!

Cel mai bun Web Hosting:
- va proteja datele împotriva accesului neautorizat într-un centru european de date securizat
- va plăti cel puțin în Bitcoin.
- Acesta va pune distribuție

- protecție împotriva atacurilor DDoS-
- gratuit de backup
- Uptime 99,9999%
- DPC - TIER III
- ISP - NIVELULUI I

Suport în 24/7/365 rusă lucra cu persoane juridice și persoane fizice. Ai nevoie de acum 24 de bază și 72 GB RAM. Vă rog!

Tarifele noastre competitive dovedesc că cele mai ieftine de găzduire pe care nu a știut!

O chestiune de minute, selectați configurația, să plătească și CMS pe un VPS este gata.
Bani Înapoi - 30 de zile!

Carduri bancare, moneda electronică prin intermediul unor terminale QIWI, Webmoney, PayPal, Novoplat și altele.

Pune o intrebare 24/7/365 Suport

Găsiți răspunsurile în baza noastră de date, și să respecte recomandările din

OpenSSL - este un instrument versatil linie de comandă pentru gestionarea infrastructurii de chei publice (PKI) și HTTPS.

Acest ghid oferă o prezentare generală a comenzilor OpenSSL, precum și exemple de utilizare și generarea de chei private, cererea de semnare a certificatului și de a schimba formatul certificatului.

Certificat de semnare cerere (RSC)

Pentru a obține SSL-certificatul de la o autoritate de certificare (CA), trebuie să creați mai întâi o cerere de semnare a certificatului (CSR). CSR include cheia publică și a unor date suplimentare. La semnarea acestor date sunt adăugate la certificat.

Pentru a genera o cerere de semnare a certificatului, trebuie să furnizați informații despre certificat. În special, este important să completați numele comun (CN) în secțiunea Nume Distinguised, în care trebuie să specificați FQDN gazdă pentru care este destinat certificatul. Pentru a ocoli modul interactiv, puteți transfera toate datele solicitate în linia de comandă.

Alte câmpuri în Distinguised Nume secțiune care solicită informații despre organizația sau companie. Dacă comandați un certificat în CA, aceste domenii, de obicei, trebuie să fie completate.

Certificatul de semnare Cererea este după cum urmează:

---
Numele țării (cod din 2 litere) [AU]: SUA
Stat sau de provincie (nume complet) [Unele-stat]: New York
Numele localității (de exemplu, un oraș) []: Brooklyn
Numele organizației (de exemplu, companie) [Internet Widgits Pty Ltd]: Exemplul Brooklyn Company
Nume unitate organizațională (de exemplu, secțiunea) []: Tehnologie Divizia
Nume comun (de exemplu, FQDN server sau numele tău) []: examplebrooklyn.com
Adresa de email []:

, Adăugați la opțiunea echipei -subj, de exemplu pentru a răspunde la întrebările CSR în modul silențios:

-subiectul respectiv "/ C = US / ST = New York / L = Brooklyn / O = Exemplu Brooklyn Compania / CN = examplebrooklyn.com"

După citirea cererii de semnare a certificatului, puteți merge la orice altă secțiune a manualului.

Generarea cererii de semnare a certificatului

Generarea cheii private și cererea

Această metodă vă permite să semneze un certificat de către AC și pentru a proteja serverul de web Apache sau Nginx prin HTTPS. Generat cerere semnarea pot fi trimise la un CA pentru a obține un certificat semnat. În cazul în care acceptă CA SHA-2, adăugați opțiunea -sha256.

Următoarea comandă creează o cheie de 2048 biți privat (domain.key) și CSR (domain.csr):

req OpenSSL \
-newkey rsa: 2048 -nodes -keyout domain.key \
-out domain.csr

Completați câmpurile din cererea de semnare.

Opțiunea -newkey rsa: 2048 va crea RSA 2048-bit-cheie. Opțiunea -nodes dezactivează parola pentru cheia privată.

generarea de interogare pentru cheia privată existentă

Dacă aveți deja o cheie privată, dar nu există nici un certificat, puteți genera o cerere pentru cheia.

Următoarea comandă creează o cerere de certificat (domain.csr) pentru o cheie existentă (domain.key):

req OpenSSL \
-cheie domain.key \
-nou domain.csr -out

Răspundeți la programul trebuie să continue. Opțiunea -new indică faptul că solicitarea de a fi generat.

generarea de interogare pentru un certificat și o cheie existentă

Această metodă vă permite să actualizați un certificat existent în cazul în care cererea de semnare a certificatului original a fost pierdut.

Următoarea comandă creează o cerere (domain.csr), pe baza unui certificat existent (domain.crt) și cheia privată (domain.key):

openssl x509 \
-în domain.crt \
-signkey domain.key \
-x509toreq -out domain.csr

Opțiunea -x509toreq va crea un certificat X509.

Generarea SSL certificat

Dacă doriți să protejeze serviciul dvs., dar nu doriți să-l semneze în CA, puteți să creați și să semneze certificatul de tine.

Aceste certificate sunt numite auto-semnat.

De fapt, auto-semnat certificatul - un certificat semnat de propria sa cheie privată. Aceste certificate cripta, de asemenea, conexiunea, dar nu confirmă autenticitatea site-ului, deoarece utilizatorii care vizualizează site-ul va vedea un avertisment.

Dacă inutile pentru a confirma autenticitatea site-ului, puteți utiliza în condiții de siguranță a certificatelor auto-semnate.

Generarea unui certificat auto-semnat

Această metodă vă permite să protejeze serverul de web Apache sau Nginx prin HTTPS.

Următoarea comandă creează o cheie de 2048 biți privat (domain.key) și CSR (domain.csr):

req OpenSSL \
-newkey rsa: 2048 -nodes -keyout domain.key \
-x509 -days 365 -out domain.crt

Completați cererea de semnătură.

Opțiunea -x509 creează un certificat auto-semnat. Opțiunea -days 365 se stabilește valabilitatea certificatului în zile.

Crearea unui certificat pentru o cheie privată existentă

Dacă aveți deja o cheie privată, dar nu există nici un certificat, puteți genera un certificat pentru acea cheie.

Următoarea comandă creează un certificat (domain.csr) pentru o cheie existentă (domain.key):

req OpenSSL \
-cheie domain.key \
-nou \
-x509 -days 365 -out domain.crt

Răspundeți la programul trebuie să continue.

  • Opțiunea -x509 creează un certificat auto-semnat. Opțiunea -days 365 se stabilește valabilitatea certificatului în zile.
  • Opțiunea -new lansează o cerere de date pentru crearea de CSR.

generarea de interogare pentru un certificat și o cheie existentă

Această metodă vă permite să creați un certificat, dacă aveți deja o cheie și de semnare a certificatului cerere privat.

Următoarea comandă creează un certificat (domain.crt), bazat pe o interogare existentă (domain.csr) și cheia privată (domain.key):

openssl x509 \
-signkey domain.key \
-în domain.csr \
-req -days 365 domain.crt -out

Opțiunea -days 365 se stabilește valabilitatea certificatului în zile.

req OpenSSL -text -noout -verify -in domain.csr

OpenSSL x509 -text -noout -in domain.crt

Verificarea certificatului de semnătură

Pentru a verifica dacă certificatul a fost semnat de CA, de tipul:

OpenSSL verifica -verbose -CAFile ca.crt domain.crt

cheile private

Crearea unei chei private

Pentru a crea o cheie 2048-bit privat este protejat prin parolă, introduceți:

OpenSSL genrsa -des3 -out domain.key 2048

Când vi se solicită, introduceți parola pentru a continua.

Verificați cheia privată

Această comandă va confirma valabilitatea cheii private:

OpenSSL rsa -in domain.key -Verificați

Coincidența cererii cheie și certificat

Această comandă vă permite să aflați dacă aparține cheia privată (domain.key) la un anumit certificat (domain.crt) și cererea (domain.csr):

OpenSSL rsa -noout -modulus -in domain.key | OpenSSL MD5
OpenSSL x509 -noout -modulus -in domain.crt | OpenSSL MD5
req OpenSSL -noout -modulus -in domain.csr | OpenSSL MD5

În cazul în care echipele a revenit la aceeași concluzie, atunci, cel mai probabil, cheia și solicitarea certificatului asociat.

cheia privată de criptare

Următoarea comandă va avea o cheie necriptat (unencrypted.key) și cripta (encrypted.key):

OpenSSL rsa -des3 \
-în unencrypted.key \
-encrypted.key out

Introduceți parola pentru a cripta cheia.

Decriptarea o cheie privată

Această comandă poate decripta cheia criptată:

openssl rsa \
-în encrypted.key \
-decrypted.key out
Introduceți fraza de trecere pentru criptat

Introduceți parola pentru a decripta cheia.

formate de certificate

Înainte de acest manual se referă numai certificate X.509 cu codificare ASCII PEM. Cu toate acestea, există multe alte formate. Unele formate vă permit să combinați componentele - cererea cheie, certificatul - într-un singur fișier.

PEM Conversia la DER

Pentru a converti PEM la DER, utilizați următoarea comandă:

openssl x509 \
-în domain.crt \
-der outform -out domain.der

Formatul DER utilizează în mod obișnuit Java.

Conversia DER în PEM

Pentru a face acest lucru, tip:

openssl x509 \
-informează der -În domain.der \
-domain.crt out

Conversia PEM în PKCS7

Pentru a adăuga un certificate PEM (domain.crt și CA-chain.crt) în PKCS7 (domain.p7b) tip de fișier:

OpenSSL crl2pkcs7 -nocrl \
-certfile domain.crt \
-certfile ca-chain.crt \
-domain.p7b out

Fișierele PKCS7 (de asemenea, cunoscut sub numele de P7b) sunt adesea folosite în Java Microsoft IIS și depozitele de chei (Windows).

Conversia la PKCS7 la PEM

Pentru a converti PKCS7 la PEM, introduceți:

OpenSSL PKCS7 \
-în domain.p7b \
-print_certs -out domain.crt

Notă: fișier PKCS7 conține o mulțime de componente, și anume un certificat și un certificat intermediar.

PEM Conversia la PKCS12

Următoarea comandă vă permite să combinați cheia privată și certificatul într-un fișier PKCS12.

OpenSSL PKCS12 \
-inkey domain.key \
-în domain.crt \
-export domain.pfx -out

Programul va cere parola. fișier PKCS12 vă permite să combinați mai multe certificate într-un singur fișier PEM (domain.crt).

PKCS12 fișiere (sau pfx) sunt utilizate în mod obișnuit pentru a muta un set de certificate în Micrsoft IIS (Windows).

PKCS12 Conversia la PEM

Pentru a converti un fișier PKCS12 în format PEM, tip:

OpenSSL PKCS12 \
-în domain.pfx \
-noduri -out domain.combined.crt

Dacă fișierul a fost PKCS12 mai multe obiecte (de exemplu, cheie și certificat), toate acestea muta în fișierul PEM.

versiune OpenSSL

Pentru a verifica versiunea de OpenSSL, utilizați comanda versiunea OpenSSL.

Următoarea comandă afișează versiunea OpenSSL și toți parametrii cu care a fost compilat.

Versiune OpenSSL -a

Acest ghid utilizează OpenSSL fișier binar cu următoarele detalii:

Acum sunteți familiarizați cu tehnicile de bază și comenzi OpenSSL.

articole similare