Scroll to navigation

OPENSSL(1SSL) OpenSSL OPENSSL(1SSL)

NUME

openssl - programul de linie de comandă OpenSSL

SINOPSIS

openssl comandă [ opțiuni ... ] [ parametri ... ]

openssl no-XXX [ opțiuni ]

DESCRIERE

OpenSSL este un set de instrumente criptografice care implementează protocoalele de rețea Secure Sockets Layer (SSL v2/v3, stratul de socluri securizate) și Transport Layer Security (TLS v1, stratul de socluri securizate) și standardele criptografice aferente impuse de acestea.

Programul openssl este un program de linie de comandă pentru utilizarea diferitelor funcții de criptografie din biblioteca crypto a OpenSSL din shell. Acesta poate fi utilizat pentru

 o Crearea și gestionarea cheilor private, a cheilor publice și a
parametrilor  o Operații criptografice cu chei publice  o Crearea de
certificate X.509, CSR-uri și CRL-uri  o Calcularea sumelor de control ale
mesajelor și a codurilor de autentificare a mesajelor  o Criptare și
decriptare cu cifruri  o Teste pentru client și server SSL/TLS  o
Gestionarea mesajelor de poștă electronică semnate sau criptate S/MIME  o
Solicitări, generare și verificare a marcajelor temporale

REZUMATUL COMENZII

Programul openssl oferă o mare varietate de comenzi (comandă în secțiunea „SINOPSIS” de mai sus). Fiecare comandă poate avea multe opțiuni și parametri de argument, prezentați mai sus ca opțiuni și parametri.

Sunt disponibile documentație detaliată și cazuri de utilizare pentru majoritatea subcomenzilor standard (de exemplu, openssl-x509(1)). Subcomanda openssl-list(1) poate fi utilizată pentru a lista subcomenzile.

Comanda no-XXX testează dacă este disponibilă o comandă cu numele specificat. Dacă nu există nicio comandă numită XXX, aceasta returnează 0 (succes) și imprimă no-XXX; în caz contrar, returnează 1 și imprimă XXX. În ambele cazuri, ieșirea merge la stdout și nimic nu este imprimat la stderr. Argumentele suplimentare din linia de comandă sunt întotdeauna ignorate. Deoarece pentru fiecare cifru există o comandă cu același nume, aceasta oferă o modalitate ușoară pentru scripturile shell de a testa disponibilitatea cifrurilor în programul openssl. (no-XXX nu este capabilă să detecteze pseudocomenzi precum quit, list, sau no-XXX însuși).

Opțiuni de configurare

Multe comenzi utilizează un fișier de configurare extern pentru unele sau toate argumentele lor și au o opțiune -config pentru a specifica fișierul respectiv. Numele implicit al fișierului este openssl.cnf în zona implicită de stocare a certificatelor, care poate fi determinată din comanda openssl-version(1) utilizând opțiunea -d sau -a. Variabila de mediu OPENSSL_CONF poate fi utilizată pentru a specifica o altă locație a fișierului sau pentru a dezactiva încărcarea unei configurații (utilizând șirul gol).

Printre altele, fișierul de configurare poate fi utilizat pentru a încărca module și pentru a specifica parametrii pentru generarea certificatelor și a numerelor aleatorii. Consultați config(5) pentru detalii.

Comenzi standard

Analizează o secvență ASN.1.
Gestionarea autorității de certificare (CA, în engleză).
Determinarea descrierii suitelor de cifrare.
Comanda CMS („Cryptographic Message Syntax”: sintaxa mesajului criptografic).
Gestionarea listei de revocare a certificatelor (CRL).
Conversia CRL în PKCS#7.
Calcularea sumei de control a mesajelor. Calculele MAC sunt înlocuite de openssl-mac(1).
Generarea și gestionarea parametrilor Diffie-Hellman. Înlocuită de openssl-genpkey(1) și openssl-pkeyparam(1).
Gestionarea datelor DSA.
Generarea și gestionarea parametrilor DSA. Înlocuită de openssl-genpkey(1) și openssl-pkeyparam(1).
Procesarea cheilor EC („Elliptic curve”: curbă eliptică).
Manipularea și generarea parametrilor EC.
Criptare, decriptare și codificare.
Informații despre motor (modul încărcabil) și manipularea acestuia.
Conversia numărului de eroare în șir de eroare.
Instalarea configurației FIPS.
Generarea cheii private DSA din parametri. Înlocuită de openssl-genpkey(1) și openssl-pkey(1).
Generarea cheii private sau a parametrilor.
Generarea cheii private RSA. Înlocuită de openssl-genpkey(1).
Afișează informații despre opțiunile unei comenzi.
Afișează diverse informații încorporate în bibliotecile OpenSSL.
Funcții de derivare cheie.
Listează algoritmii și caracteristicile.
Calcularea codului de autentificare a mesajului.
Creează sau examinează o secvență de certificat Netscape.
Comanda pentru protocolul de stare a certificatului în rețea.
Generarea de parole criptate(transformate în sume de control, „hashed”).
Gestionarea datelor PKCS#12.
Gestionarea datelor PKCS#7.
Comanda de conversie a cheii private în format PKCS#8.
Gestionarea cheilor publice și private.
Gestionarea parametrilor algoritmului de cheie publică.
Comanda operației criptografice de algoritm al cheii publice.
Calculează numere prime.
Generează octeți pseudo-aleatorii.
Creează legături simbolice către certificatele și fișierele CRL denumite prin valorile sumelor de control.
Gestionarea cererilor de semnare a certificatelor (CSR) PKCS#10 X.509.
Gestionarea cheilor RSA.
Comanda RSA pentru semnare, verificare, criptare și decriptare. Înlocuită de openssl-pkeyutl(1).
Aceasta implementează un client SSL/TLS care poate stabili o conexiune transparentă la un server de la distanță prin SSL/TLS Aceasta este destinată doar scopurilor de testare și oferă doar o funcționalitate rudimentară a interfeței, dar utilizează intern aproape toate funcționalitățile bibliotecii OpenSSL ssl.
Aceasta implementează un server SSL/TLS generic care acceptă conexiuni de la clienți de la distanță prin SSL/TLS. Acesta este destinat exclusiv testelor și oferă doar funcționalități rudimentare de interfață, dar utilizează intern aproape toate funcționalitățile bibliotecii OpenSSL ssl. Acesta oferă atât un protocol propriu orientat pe linia de comandă pentru testarea funcțiilor SSL, cât și o facilitate simplă de răspuns HTTP pentru a emula un server web compatibil cu SSL/TLS.
Temporizator conexiune SSL.
Gestionarea datelor sesiunii SSL.
Procesarea corespondenței S/MIME.
Măsurarea vitezei algoritmului.
Comanda de imprimare(afișare) și generare SPKAC.
Menține fișierul de parole SRP. Această comandă este depreciată.
Comandă pentru listarea și afișarea certificatelor, cheilor, CRL-urilor etc.
Comanda autorității de certificare a marcajului de timp.
Verificarea certificatelor X.509. Consultați și pagina de manual openssl-verification-options(1).
Informații despre versiunea OpenSSL.
Gestionarea datelor certificatelor X.509.

Comenzile de analiză a mesajelor (verificarea sumelor de control ale mesajelor)

Calcularea/verificarea sumei de control BLAKE2b-512
Calcularea/verificarea sumei de control BLAKE2s-256
Calcularea/verificarea sumei de control MD2
Calcularea/verificarea sumei de control MD4
Calcularea/verificarea sumei de control MD5
Calcularea/verificarea sumei de control MDC2
Calcularea/verificarea sumei de control RMD-160
Calcularea/verificarea sumei de control SHA-1
Calcularea/verificarea sumei de control SHA-2 224
Calcularea/verificarea sumei de control SHA-2 256
Calcularea/verificarea sumei de control SHA-2 384
Calcularea/verificarea sumei de control SHA-2 512
Calcularea/verificarea sumei de control SHA-3 224
Calcularea/verificarea sumei de control SHA-3 256
Calcularea/verificarea sumei de control SHA-3 384
Calcularea/verificarea sumei de control SHA-3 512
Calcularea/verificarea sumei de control SHA-3 SHAKE128
Calcularea/verificarea sumei de control SHA-3 SHAKE256
Calcularea/verificarea sumei de control SM3

Comenzi de criptare, decriptare și codificare

Următoarele nume-alias oferă acces convenabil la cele mai utilizate codificări și cifruri.

În funcție de modul în care a fost configurat și construit OpenSSL, este posibil ca nu toate cifrurile enumerate aici să fie prezente. Consultați openssl-enc(1) pentru mai multe informații.

Cifrul AES-128
Cifrul AES-192
Cifrul AES-256
Cifrul Aria-128
Cifrul Aria-192
Cifrul Aria-256
Codificarea Base64
Cifrul Blowfish
Cifrul Camellia-128
Cifrul Camellia-192
Cifrul Camellia-256
Cifrul CAST
Cifrul CAST5
Cifrul Chacha20
Cifrul DES
Cifrul Triple-DES
Cifrul IDEA
Cifrul RC2
Cifrul RC4
Cifrul RC5
Cifrul SEED
Cifrul SM4

OPȚIUNI

Detaliile privind opțiunile disponibile depind de comanda specifică. Această secțiune descrie câteva opțiuni comune cu un comportament comun.

Opțiuni comune

Oferă un rezumat laconic al tuturor opțiunilor. În cazul în care o opțiune are un argument, este indicat și „tipul” de argument.
--
Aceasta încheie lista de opțiuni. Este util mai ales în cazul în care orice parametru al numelui fișierului începe cu un semn minus:

 openssl verify [opțiuni...] -- -cert1.pem...
    

Opțiuni de format

Consultați openssl-format-options(1) pentru pagina de manual.

Opțiuni frază de acces

Consultați pagina de manual openssl-passphrase-options(1).

Opțiuni de stare aleatorie

Înainte de OpenSSL 1.1.1, era obișnuit ca aplicațiile să stocheze informații despre starea generatorului de numere aleatorii într-un fișier care era încărcat la pornire și rescris la ieșire. Pe sistemele de operare moderne, acest lucru nu mai este în general necesar, deoarece OpenSSL se va „însămânța” de la o sursă de entropie de încredere furnizată de sistemul de operare. Aceste opțiuni sunt încă acceptate pentru platforme speciale sau circumstanțe care le-ar putea necesita.

În general, este o eroare utilizarea aceluiași fișier de semințe de mai multe ori și fiecare utilizare a -rand ar trebui să fie asociată cu -writerand.

Un fișier sau mai multe fișiere care conțin date aleatorii utilizate pentru însămânțarea generatorului de numere aleatorii. Se pot specifica mai multe fișiere separate de un caracter dependent de sistemul de operare. Separatorul este ";" pentru MS-Windows, "," pentru OpenVMS și ":" pentru toate celelalte. O altă modalitate de a specifica mai multe fișiere este de a repeta această opțiune cu nume de fișiere diferite.
Scrie datele de semințe în fișierul specificat la ieșire. Acest fișier poate fi utilizat într-o invocare ulterioară a comenzii.

Opțiuni verificare certificate

Consultați pagina de manual openssl-verification-options(1).

Opțiuni de format de nume

Consultați pagina de manual openssl-namedisplay-options(1).

Opțiuni versiune TLS

Mai multe comenzi utilizează SSL, TLS, sau DTLS.. În mod implicit, comenzile utilizează TLS, iar clienții vor oferi cea mai mică și cea mai mare versiune de protocol pe care o acceptă, iar serverele vor alege cea mai mare versiune pe care o oferă clientul și care este acceptată și de server.

Opțiunile de mai jos pot fi utilizate pentru a limita ce versiuni de protocol sunt utilizate și dacă este utilizat TCP (SSL and TLS) sau UDP (DTLS). Rețineți că nu toate protocoalele și opțiunile pot fi disponibile, în funcție de modul în care a fost construit OpenSSL.

Aceste opțiuni necesită sau dezactivează utilizarea protocoalelor SSL sau TLS specificate. Atunci când este necesară o anumită versiune TLS, numai această versiune va fi oferită sau acceptată. Se poate oferi un singur protocol specific și acesta nu poate fi combinat cu niciuna dintre opțiunile no_*. Opțiunile no_* nu funcționează cu comenzile s_time și ciphers, dar funcționează cu comenzile s_client și s_server.
Aceste opțiuni specifică utilizarea DTLS în loc de TLS. Cu -dtls, clienții vor negocia orice versiune de protocol DTLS acceptată. Utilizați opțiunile -dtls1 sau -dtls1_2 pentru a accepta numai DTLS1.0, respectiv DTLS1.2.

OPțiuni motor

Încarcă motorul identificat prin id și utilizează toate metodele pe care le implementează (algoritmi, stocarea cheilor etc.), cu excepția cazului în care se specifică altfel în documentația specifică comenzii sau dacă este configurat astfel, după cum se descrie în secțiunea „Configurarea motorului” din config(5).

Motorul va fi utilizat pentru id-urile de cheie specificate cu -key și opțiuni similare atunci când este furnizată o opțiune precum -keyform engine.

Un caz special este motorul "loader_attic", care este destinat doar testelor interne OpenSSL și acceptă încărcarea cheilor, parametrilor, certificatelor și CRL-urilor din fișiere. Atunci când este utilizat acest motor, fișierele cu astfel de acreditări sunt citite prin intermediul acestui motor. Utilizarea schemei "file:" este opțională; un nume simplu de fișier (rută) este suficient.

Opțiunile care specifică chei, precum -key și altele similare, pot utiliza schema URI generică de încărcare a cheilor a motorului OpenSSL "org.openssl.engine:" pentru a prelua chei private și chei publice. Sintaxa URII este următoarea, în formă simplificată:

 org.openssl.engine:{id-motor}:{id-cheie}

Unde "{id-motor}" este identitatea/numele motorului, iar "{id-cheie}" este un identificator de cheie care este acceptabil pentru motorul respectiv. De exemplu, atunci când se utilizează un motor care interfațează cu o implementare PKCS#11, URI-ul generic al cheii ar fi ceva de genul acesta (acesta este un exemplu pentru motorul PKCS#11 care face parte din OpenSC):

 -key org.openssl.engine:pkcs11:eticheta_unei_chei_private

Ca o a treia posibilitate, pentru motoarele și furnizorii care și-au implementat propriul OSSL_STORE_LOADER(3), "org.openssl.engine:" nu ar trebui să fie necesar. Pentru o implementare PKCS#11 care a implementat un astfel de încărcător, URI PKCS#11 definit în RFC 7512 ar trebui să poată fi utilizat direct:

 -key pkcs11:object=o_chei_privată:valoare-pin=1234

Opțiuni furnizor

Încarcă și inițializează furnizorul identificat prin nume. nume poate fi și o rută către modulul furnizorului. În acest caz, numele furnizorului va fi ruta specificată și nu doar numele modulului furnizorului. Interpretarea rutelor relative este specifică platformei. Ruta „MODULESDIR” configurată, variabila de mediu OPENSSL_MODULES sau ruta specificată de provider-path este anexată la rutele relative. Consultați provider(7) pentru o descriere mai detaliată.
Specifică ruta de căutare care urmează să fie utilizată pentru căutarea furnizorilor. În mod echivalent, poate fi definită variabila de mediu OPENSSL_MODULES.
Specifică clauza de interogare a proprietății care urmează să fie utilizată la obținerea algoritmilor de la furnizorii încărcați. Consultați property(7) pentru o descriere mai detaliată.

MEDIU

Biblioteca OpenSSL poate prelua anumiți parametri de configurare din mediu. Unele dintre aceste variabile sunt enumerate mai jos. Pentru informații despre comenzi specifice, consultați openssl-engine(1), openssl-rehash(1) și tsget(1).

Pentru informații despre utilizarea variabilelor de mediu în configurare, consultați secțiunea „MEDIU” din config(5).

Pentru informații despre interogarea sau specificarea fanioanelor arhitecturii CPU, consultați OPENSSL_ia32cap(3), și OPENSSL_s390xcap(3).

Pentru informații despre toate variabilele de mediu utilizate de bibliotecile OpenSSL, consultați openssl-env(7).

Activează ieșirea de urmărire a bibliotecii OpenSSL, după nume. Această ieșire va avea sens numai dacă cunoașteți bine elementele interne ale OpenSSL. De asemenea, este posibil să nu vă ofere niciun rezultat, în funcție de modul în care a fost construit OpenSSL.

Valoarea este o listă de nume separate prin virgule, cu următoarele nume disponibile:

Urmărește traseul API OpenSSL în sine.
Urmărește inițializarea și curățarea bibliotecii OpenSSL.
Urmărește protocolul TLS/SSL.
Urmărește cifrurile utilizate de protocolul TLS/SSL.
Afișează detalii despre configurația furnizorului și a motorului.
Funcția utilizată de codul RSA, DSA (etc.) pentru a selecta MOTOARELE înregistrate, memoria cache implicită și referințele funcționale (etc.) va genera rezumate de depanare.
Numărul de referințe în structura ENGINE va fi monitorizat cu o linie generată pentru fiecare modificare.
Urmărește generarea cheilor PKCS#5 v2.
Urmărește generarea cheilor PKCS#12.
Urmărește decriptarea PKCS#12.
Generează arborele complet al politicii în diferite puncte pe durata evaluării politicii X.509 v3.
Urmărește operațiile contextului BIGNUM.
Urmărește activitatea clientului și a serverului CMP.
Urmărește operațiile STORE.
Urmărește operațiile decodorului.
Urmărește operațiile codificatorului.
Urmărește decrementarea anumitor referințe ale structurii ASN.1.

CONSULTAȚI ȘI

openssl-asn1parse(1), openssl-ca(1), openssl-ciphers(1), openssl-cms(1), openssl-crl(1), openssl-crl2pkcs7(1), openssl-dgst(1), openssl-dhparam(1), openssl-dsa(1), openssl-dsaparam(1), openssl-ec(1), openssl-ecparam(1), openssl-enc(1), openssl-engine(1), openssl-errstr(1), openssl-gendsa(1), openssl-genpkey(1), openssl-genrsa(1), openssl-kdf(1), openssl-list(1), openssl-mac(1), openssl-nseq(1), openssl-ocsp(1), openssl-passwd(1), openssl-pkcs12(1), openssl-pkcs7(1), openssl-pkcs8(1), openssl-pkey(1), openssl-pkeyparam(1), openssl-pkeyutl(1), openssl-prime(1), openssl-rand(1), openssl-rehash(1), openssl-req(1), openssl-rsa(1), openssl-rsautl(1), openssl-s_client(1), openssl-s_server(1), openssl-s_time(1), openssl-sess_id(1), openssl-smime(1), openssl-speed(1), openssl-spkac(1), openssl-srp(1), openssl-storeutl(1), openssl-ts(1), openssl-verify(1), openssl-version(1), openssl-x509(1), config(5), crypto(7), openssl-env(7). ssl(7), x509v3_config(5)

ISTORIC

Opțiunile list -XXX-algorithms au fost adăugate în OpenSSL 1.0.0; Pentru note privind disponibilitatea altor comenzi, consultați paginile lor de manual individuale.

Opțiunea -issuer_checks este depreciată de la OpenSSL 1.1.0 și este ignorată în mod silențios.

Opțiunile -xcertform și -xkeyform sunt obsolete de la OpenSSL 3.0 și nu au niciun efect.

Modul interactiv, care putea fi invocat prin rularea "openssl" fără alte argumente, a fost eliminat în OpenSSL 3.0, iar rularea acestui program fără argumente este acum echivalentă cu "openssl help".

DREPTURI DE AUTOR

Drepturi de autor 2000-2023 The OpenSSL Project Authors. Toate drepturile rezervate.

Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la <https://www.openssl.org/source/license.html>.

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

27 octombrie 2024 3.0.15