Aceasta este comanda s_serverssl care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
s_server - program server SSL/TLS
REZUMAT
OpenSSL s_server [-Accept port] [-context id] [-verifica adâncime] [-Verifica adâncime] [-crl_check]
[-crl_check_all] [-cert nume de fișier] [-certform DER|PEM] [-cheie fişier cheie] [-forma cheie DER|PEM]
[-trece arg] [-dcert nume de fișier] [-dcertform DER|PEM] [-dkey fişier cheie] [-dkeyform DER|PEM]
[-dpass arg] [-dhparam nume de fișier] [-nbio] [-nbio_test] [-crlf] [- depanare] [-msg] [-stat]
[-CApath director] [-CAfile nume de fișier] [-no_alt_chains] [-nocert] [-cifru cipherlist]
[-serverpref] [-Liniște] [-no_tmp_rsa] [-ssl2] [-ssl3] [-tls1] [-nu_ssl2] [-nu_ssl3]
[-nu_tls1] [-nu_dhe] [-gandaci] [- hack] [-www] [-WWW] [-HTTP] [-motor id] [-tlsextdebug]
[-fără_bilet] [-id_prefix arg] [-rand fișier (e)] [-serverinfo fişier] [-no_reasumption_on_reneg]
[-stare] [-status_verbose] [-status_timeout nsec] [-status_url url] [-nextprotoneg
protocoale]
DESCRIERE
s_server comanda implementează un server SSL/TLS generic care ascultă conexiuni
un anumit port folosind SSL/TLS.
OPŢIUNI
-Accept port
portul TCP pentru a asculta conexiuni. Dacă nu este specificat, se utilizează 4433.
-context id
setează ID-ul contextului SSL. I se poate da orice valoare șir. Dacă această opțiune nu este
prezent va fi utilizată o valoare implicită.
-cert certname
Certificatul de utilizat, majoritatea suitelor de criptare a serverelor necesită utilizarea unui certificat
iar unele necesită un certificat cu un anumit tip de cheie publică: de exemplu DSS
suitele de criptare necesită un certificat care conține o cheie DSS (DSA). Dacă nu este specificat atunci
va fi folosit numele de fișier „server.pem”.
-certform format
Formatul certificatului de utilizat: DER sau PEM. PEM este implicit.
-cheie fişier cheie
Cheia privată de utilizat. Dacă nu este specificat, va fi utilizat fișierul de certificat.
-forma cheie format
Formatul privat de utilizat: DER sau PEM. PEM este implicit.
-trece arg
sursa parolei cheii private. Pentru mai multe informații despre formatul de arg a se vedea
TRECERE FRAZA ARGUMENTE secțiune în OpenSSL(1).
-dcert nume de fișier, -dkey nume cheie
specificați un certificat suplimentar și o cheie privată, acestea se comportă în același mod ca
il -cert și -cheie opțiuni, cu excepția faptului că nu există implicit dacă nu sunt specificate (nr
se utilizează certificat și cheie suplimentare). După cum sa menționat mai sus, unele suite de criptare necesită a
certificat care conține o cheie de un anumit tip. Unele suite de criptare au nevoie de un certificat
purtând o cheie RSA și unele cheie DSS (DSA). Prin utilizarea certificatelor RSA și DSS și
chei pe care un server poate suporta clienți care acceptă numai suitele de criptare RSA sau DSS prin utilizarea
un certificat adecvat.
-dcertform format, -dkeyform format, -dpass arg
certificat suplimentar și, respectiv, formatul cheii private și expresia de acces.
-nocert
dacă această opțiune este setată, nu se utilizează niciun certificat. Acest lucru limitează suitele de criptare
disponibil pentru cei anonimi (in prezent doar DH anonim).
-dhparam nume de fișier
fișierul de parametri DH de utilizat. Suitele de criptare efemere DH generează chei folosind un set
a parametrilor DH. Dacă nu este specificat, atunci se încearcă încărcarea parametrilor din
fișierul certificat de server. Dacă acest lucru nu reușește, atunci un set static de parametri codați greu
în programul s_server va fi folosit.
-nu_dhe
dacă această opțiune este setată, nu vor fi încărcați parametrii DH efectiv dezactivând
suite efemere de criptare DH.
-no_tmp_rsa
anumite suite de criptare de export folosesc uneori o cheie RSA temporară, această opțiune dezactivează
generarea temporară a cheii RSA.
-verifica adâncime, -Verifica adâncime
Verificați adâncimea de utilizat. Aceasta specifică lungimea maximă a certificatului de client
lanț și face ca serverul să solicite un certificat de la client. Cu -verifica
optiunea se solicita un certificat dar clientul nu trebuie sa trimita unul, cu
-Verifica opțiunea clientului trebuie să furnizeze un certificat sau apare o eroare.
Dacă ciphersuite nu poate solicita un certificat de client (de exemplu, un certificat anonim
ciphersuite sau PSK) această opțiune nu are efect.
-crl_check, -crl_check_all
Verificați dacă certificatul peer nu a fost revocat de CA. CRL-urile sunt atașate la
dosarul certificatului. Cu -crl_check_all opțiune toate CRL-urile tuturor CA din lanț
sunt verificate.
-CApath director
Directorul de utilizat pentru verificarea certificatului clientului. Acest director trebuie să fie în
„format hash”, vezi verifica pentru mai multe informatii. Acestea sunt, de asemenea, folosite la construirea
lanțul de certificate de server.
-CAfile fişier
Un fișier care conține certificate de încredere de utilizat în timpul autentificării clientului și de utilizat
când încercați să construiți lanțul de certificate de server. Lista este folosită și în
lista de CA-uri acceptabile client transmise clientului atunci când este solicitat un certificat.
-no_alt_chains
A se vedea verifica pagina de manual pentru detalii.
-stat
imprimă stările sesiunii SSL.
- depanare
imprimați informații extinse de depanare, inclusiv un dump hexadecimal al întregului trafic.
-msg
afișați toate mesajele de protocol cu dump hexadecimal.
-nbio_test
testează I/O fără blocare
-nbio
activează I/O fără blocare
-crlf
această opțiune a tradus un avans de linie de la terminal în CR+LF.
-Liniște
inhiba tipărirea informațiilor despre sesiune și certificat.
-psk_hint aluzie
Utilizați indicația de identitate PSK aluzie atunci când utilizați o suită de criptare PSK.
-psk cheie
Folosiți tasta PSK cheie atunci când utilizați o suită de criptare PSK. Cheia este dată ca hexazecimal
număr fără 0x înainte, de exemplu -psk 1a2b3c4d.
-ssl2, -ssl3, -tls1, -tls1_1, -tls1_2, -nu_ssl2, -nu_ssl3, -nu_tls1, -no_tls1_1,
-no_tls1_2
Aceste opțiuni necesită sau dezactivează utilizarea protocoalelor SSL sau TLS specificate. De
implicit, strângerea de mână inițială folosește a versiune flexibilă metoda care va negocia
cea mai înaltă versiune de protocol acceptată reciproc.
-gandaci
Există mai multe erori cunoscute în implementările SSL și TLS. Adăugarea acestei opțiuni permite
diverse soluții.
- hack
această opțiune permite o soluție suplimentară pentru unele coduri SSL Netscape timpurii (?).
-cifru cipherlist
aceasta permite modificarea listei de cifrare utilizată de server. Când clientul trimite
o listă de cifruri acceptate, primul cifru client inclus și în lista de servere
este folosit. Deoarece clientul specifică ordinea preferințelor, ordinea serverului
cipherlist irelevant. Vezi cifrări comanda pentru mai multe informații.
-serverpref
utilizați preferințele de criptare ale serverului, mai degrabă decât preferințele clientului.
-tlsextdebug
tipăriți un dump hexadecimal al oricăror extensii TLS primite de la server.
-fără_bilet
dezactivați suportul pentru biletele de sesiune RFC4507bis.
-www
trimite un mesaj de stare înapoi către client când acesta se conectează. Aceasta include o mulțime de
informații despre cifrurile utilizate și diverși parametri de sesiune. Ieșirea este în
Format HTML, astfel încât această opțiune va fi utilizată în mod normal cu un browser web.
-WWW
emulează un server web simplu. Paginile vor fi rezolvate relativ la curent
director, de exemplu, dacă URL-ul https://myhost/page.html este solicitat fișierului
./page.html va fi încărcat.
-HTTP
emulează un server web simplu. Paginile vor fi rezolvate relativ la curent
director, de exemplu, dacă URL-ul https://myhost/page.html este solicitat fișierului
./page.html va fi încărcat. Se presupune că fișierele încărcate conțin un și
răspuns HTTP corect (liniile care fac parte din linia de răspuns HTTP și anteturile trebuie
termina cu CRLF).
-motor id
specificarea unui motor (prin unic id șir) va cauza s_server a încerca să
obțineți o referință funcțională la motorul specificat, astfel inițializandu-l dacă este necesar.
Motorul va fi apoi setat ca implicit pentru toți algoritmii disponibili.
-id_prefix arg
generați ID-uri de sesiune SSL/TLS prefixate de arg. Acest lucru este util mai ales pentru a testa oricare
Cod SSL/TLS (de exemplu, proxy) care doresc să se ocupe de mai multe servere, când fiecare dintre ele
ar putea genera o gamă unică de ID-uri de sesiune (de exemplu, cu un anumit prefix).
-rand fișier (e)
un fișier sau fișiere care conțin date aleatorii utilizate pentru a genera generatorul de numere aleatoare sau un
Priză EGD (vezi RAND_egd(3)). Mai multe fișiere pot fi specificate separate printr-un OS-
caracter dependent. Separatorul este ; pentru MS-Windows, , pentru OpenVMS și : pentru toate
alții.
-serverinfo fişier
un fișier care conține unul sau mai multe blocuri de date PEM. Fiecare bloc PEM trebuie să codifice un TLS
Extensia ServerHello (tip de 2 octeți, lungime de 2 octeți, urmată de "lungime" octeți de
date de extensie). Dacă clientul trimite o extensie TLS ClientHello goală care se potrivește cu
tip, extensia ServerHello corespunzătoare va fi returnată.
-no_reasumption_on_reneg
setați steag SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.
-stare
activează suportul pentru cererea de stare a certificatului (alias capsarea OCSP).
-status_verbose
activează suportul pentru cererea de stare a certificatului (aka capsare OCSP) și oferă o explicație
imprimare a răspunsului OCSP.
-status_timeout nsec
setează timpul de expirare pentru răspunsul OCSP la nsec secunde.
-status_url url
setează o adresă URL de răspuns alternativ de utilizat dacă nu există nicio adresă URL de răspuns pe server
certificat. Fără această opțiune, este returnată o eroare dacă certificatul de server o face
nu conține o adresă de răspuns.
-nextprotoneg protocoale
activați extensia TLS Next Protocol Negotiation și furnizați o listă separată prin virgulă de
nume de protocol acceptate. Lista ar trebui să conțină mai întâi cele mai căutate protocoale.
Numele de protocol sunt șiruri ASCII imprimabile, de exemplu „http/1.1” sau „spdy/3”.
CONECTAT COMANDE
Dacă o solicitare de conexiune este stabilită cu un client SSL și nici cu -www nici
-WWW a fost folosită opțiunea, atunci în mod normal sunt afișate orice date primite de la client și
orice apăsare de taste va fi trimisă clientului.
Sunt recunoscute și anumite comenzi cu o singură literă care efectuează operații speciale: acestea
sunt enumerate mai jos.
q închideți conexiunea SSL curentă, dar acceptați în continuare conexiuni noi.
Q închideți conexiunea SSL curentă și ieșiți.
r renegociați sesiunea SSL.
R renegociați sesiunea SSL și solicitați un certificat de client.
P trimiteți niște text simplu în conexiunea TCP de bază: acest lucru ar trebui să provoace clientului
să se deconecteze din cauza unei încălcări a protocolului.
S tipăriți câteva informații despre starea memoriei cache a sesiunii.
NOTE
s_server poate fi folosit pentru a depana clienții SSL. Pentru a accepta conexiuni dintr-un browser web
comanda:
openssl s_server -accept 443 -www
poate fi folosit de exemplu.
Majoritatea browserelor web (în special Netscape și MSIE) acceptă doar suite de criptare RSA, deci
nu se pot conecta la servere care nu folosesc un certificat care poartă o cheie RSA sau un
versiunea OpenSSL cu RSA dezactivată.
Deși specificarea unei liste goale de CA atunci când se solicită un certificat de client este strictă
vorbind despre o încălcare a protocolului, unii clienți SSL interpretează acest lucru ca însemnând că orice CA este
acceptabil. Acest lucru este util în scopuri de depanare.
Parametrii sesiunii pot fi tipăriți folosind sess_id programul.
Utilizați s_serverssl online folosind serviciile onworks.net