openssl - programul de linie de comandă OpenSSL
openssl comandă [ opțiuni ... ]
[ parametri ... ]
openssl no-XXX [ opțiuni ]
openssl -help | -version
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
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.
- 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.
- 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
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
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 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 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ă.
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).
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)
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 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>.
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.