OPENSSL(1ssl)

NUME
openssl - programul de linie de comandă OpenSSL

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

openssl no-XXX [ opțiuni ]

openssl -help | -version

DESCRIERE
OpenSSL este un set de instrumente criptografice care implementează protocoalele de rețea Secure Sockets Layer (SSL, stratul de socluri securizate) și Transport Layer Security (TLS, stratul de socluri securizate) și standardele criptografice aferente cerute 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ă o comandă cu numele specificat este disponibilă. Dacă nu există nicio comandă cu numele 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 de stocare a certificatului implicit, 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

asn1parse
    Analizează o secvență ASN.1.

ca  Gestionarea autorității de certificare (CA, în engleză).

ciphers
    Determinarea descrierii suitelor de cifrare.

cms Comanda CMS („Cryptographic Message Syntax”: sintaxa mesajului criptografic).

crl Gestionarea listei de revocare a certificatelor (CRL).

crl2pkcs7
    Conversia CRL în PKCS#7.

dgst
    Calcularea sumei de control a mesajelor. Calculele MAC sunt înlocuite de openssl-mac(1).

dhparam
    Generarea și gestionarea parametrilor Diffie-Hellman. Înlocuită de openssl-genpkey(1) și openssl-pkeyparam(1).

dsa Gestionarea datelor DSA.

dsaparam
    Generarea și gestionarea parametrilor DSA. Înlocuită de openssl-genpkey(1) și openssl-pkeyparam(1).

ec  Procesarea cheilor EC („Elliptic curve”: curbă eliptică).

ecparam
    Manipularea și generarea parametrilor EC.

enc Criptare, decriptare și codificare.

engine
    Informații despre motor (modul încărcabil) și manipularea acestuia.

errstr
    Conversia numărului de eroare în șir de eroare.

fipsinstall
    Instalarea configurației FIPS.

gendsa
    Generarea cheii private DSA din parametri. Înlocuită de openssl-genpkey(1) și openssl-pkey(1).

genpkey
    Generarea cheii private sau a parametrilor.

genrsa
    Generarea cheii private RSA. Înlocuită de openssl-genpkey(1).

help
    Afișează informații despre opțiunile unei comenzi.

info
    Afișează diverse informații încorporate în bibliotecile OpenSSL.

kdf Funcții de derivare cheie.

list - listă
    Listează algoritmii și caracteristicile.

mac Calcularea codului de autentificare a mesajului.

nseq
    Creează sau examinează o secvență de certificat Netscape.

ocsp
    Comanda pentru protocolul de stare a certificatului în rețea.

passwd
    Generarea de parole criptate(transformate în sume de control, „hashed”).

pkcs12
    Gestionarea datelor PKCS#12.

pkcs7
    Gestionarea datelor PKCS#7.

pkcs8
    Comanda de conversie a cheii private în format PKCS#8.

pkey
    Gestionarea cheilor publice și private.

pkeyparam
    Gestionarea parametrilor algoritmului de cheie publică.

pkeyutl
    Comanda operației criptografice de algoritm al cheii publice.

prime
    Calculează numere prime.

rand
    Generează octeți pseudo-aleatorii.

rehash
    Creează legături simbolice către fișierele de certificate și CRL denumite prin valorile hash.

req Gestionarea cererilor de semnare a certificatelor (CSR) PKCS#10 X.509.

rsa Gestionarea cheilor RSA.

rsautl
    Comanda RSA pentru semnare, verificare, criptare și decriptare. Înlocuită de openssl-pkeyutl(1).

s_client
    Aceasta implementează un client SSL/TLS generic 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.

s_server
    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.

s_time
    Temporizator conexiune SSL.

sess_id
    Gestionarea datelor sesiunii SSL.

smime
    Procesarea corespondenței S/MIME.

speed
    Măsurarea vitezei algoritmului.

spkac
    Comanda de imprimare(afișare) și generare SPKAC.

srp Menține fișierul de parole SRP. Această comandă este depreciată.

storeutl
    Comandă pentru listarea și afișarea certificatelor, cheilor, CRL-urilor etc.

ts  Comanda autorității de certificare a marcajului de timp.

verify
    Verificarea certificatelor X.509. Consultați și pagina de manual openssl-verification-options(1).

version
    Informații despre versiunea OpenSSL.

x509
    Gestionarea datelor certificatelor X.509.

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

blake2b512
    Calcularea/verificarea sumei de control BLAKE2b-512

blake2s256
    Calcularea/verificarea sumei de control BLAKE2s-256

md2 Calcularea/verificarea sumei de control MD2

md4 Calcularea/verificarea sumei de control MD4

md5 Calcularea/verificarea sumei de control MD5

mdc2
    Calcularea/verificarea sumei de control MDC2

rmd160
    Calcularea/verificarea sumei de control RMD-160

sha1
    Calcularea/verificarea sumei de control SHA-1

sha224
    Calcularea/verificarea sumei de control SHA-2 224

sha256
    Calcularea/verificarea sumei de control SHA-2 256

sha384
    Calcularea/verificarea sumei de control SHA-2 384

sha512
    Calcularea/verificarea sumei de control SHA-2 512

sha3-224
    Calcularea/verificarea sumei de control SHA-3 224

sha3-256
    Calcularea/verificarea sumei de control SHA-3 256

sha3-384
    Calcularea/verificarea sumei de control SHA-3 384

sha3-512
    Calcularea/verificarea sumei de control SHA-3 512

keccak-224
    Calcularea/verificarea sumei de control KECCAK 224

keccak-256
    Calcularea/verificarea sumei de control KECCAK 256

keccak-384
    Calcularea/verificarea sumei de control KECCAK 384

keccak-512
    KECCAK 512

shake128
    Calcularea/verificarea sumei de control SHA-3 SHAKE128

shake256
    Calcularea/verificarea sumei de control SHA-3 SHAKE256

sm3 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.

aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb
    Cifrul AES-128

aes192, aes-192-cbc, aes-192-cfb, aes-192-ctr, aes-192-ecb, aes-192-ofb
    Cifrul AES-192

aes256, aes-256-cbc, aes-256-cfb, aes-256-ctr, aes-256-ecb, aes-256-ofb
    Cifrul AES-256

aria128, aria-128-cbc, aria-128-cfb, aria-128-ctr, aria-128-ecb, aria-128-ofb
    Cifrul Aria-128

aria192, aria-192-cbc, aria-192-cfb, aria-192-ctr, aria-192-ecb, aria-192-ofb
    Cifrul Aria-192

aria256, aria-256-cbc, aria-256-cfb, aria-256-ctr, aria-256-ecb, aria-256-ofb
    Cifrul Aria-256

base64
    Codificarea Base64

bf, bf-cbc, bf-cfb, bf-ecb, bf-ofb
    Cifrul Blowfish

camellia128, camellia-128-cbc, camellia-128-cfb, camellia-128-ctr, camellia-128-ecb, camellia-128-ofb
    Cifrul Camellia-128

camellia192, camellia-192-cbc, camellia-192-cfb, camellia-192-ctr, camellia-192-ecb, camellia-192-ofb
    Cifrul Camellia-192

camellia256, camellia-256-cbc, camellia-256-cfb, camellia-256-ctr, camellia-256-ecb, camellia-256-ofb
    Cifrul Camellia-256

cast, cast-cbc
    Cifrul CAST

cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb
    Cifrul CAST5

chacha20
    Cifrul Chacha20

des, des-cbc, des-cfb, des-ecb, des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des-ofb
    Cifrul DES

des3, desx, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-ofb
    Cifrul Triple-DES

idea, idea-cbc, idea-cfb, idea-ecb, idea-ofb
    Cifrul IDEA

rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb
    Cifrul RC2

rc4 Cifrul RC4

rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5-ofb
    Cifrul RC5

seed, seed-cbc, seed-cfb, seed-ecb, seed-ofb
    Cifrul SEED

sm4, sm4-cbc, sm4-cfb, sm4-ctr, sm4-ecb, sm4-ofb
    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țiunile programului
Aceste opțiuni pot fi specificate fără o comandă specificată pentru a obține ajutor sau informații despre versiune.

-help
    Oferă un rezumat laconic al tuturor opțiunilor. Pentru informații mai detaliate, fiecare comandă acceptă o opțiune -help. Acceptă și --help.

-version
    Oferă un rezumat laconic al versiunii programului openssl. Pentru informații mai detaliate, consultați openssl-version(1). Acceptă și --version.

  Opțiuni comune

-help
    Dacă o opțiune are un argument, se indică ș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.

-rand fișiere
    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.

-writerand fișier
    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 și 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.

-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
    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.

-dtls, -dtls1, -dtls1_2
    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

-engine id
    Î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 URI 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

-provider nume
    Î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ă.

-provider-path rută
    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.

-provparam [nume:]key=valoare
    Definește parametrul de configurare key la valoarea val în furnizorul nume (opțional), dacă nume nu este specificat, valoarea se va aplica tuturor furnizorilor încărcați. Această opțiune poate fi specificată de mai multe ori, pentru a defini mai mulți parametri. Opțiunile care specifică furnizorii care nu sunt implicit încărcați ar trebui să preceadă această opțiune dacă se intenționează ca valoarea definită să se aplice furnizorilor care urmează să fie încărcați. Parametrii care afectează numai inițializarea furnizorului trebuie, deocamdată, să fie stabiliți în fișierul de configurare; numai parametrii care sunt, de asemenea, interogați ulterior, după cum este necesar, au vreun efect atunci când sunt stabiliți prin această interfață. Sunt acceptați numai parametrii UTF8 cu valoare de șir de caractere. Consultați documentația furnizorului specific și algoritmii asociați pentru orice parametru acceptat.

-propquery propq
    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
Bibliotecile OpenSSL pot prelua anumiți parametri de configurare din mediu.

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

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

Pentru informații despre comenzi specifice, consultați openssl-engine(1), openssl-rehash(1) și tsget(1).

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

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-2025 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.