- Certificat Root (Autoritatea de Certificare sau CA). Vom semna restul.
- Certificat de domeniu (server). IIS va verifica clienții pentru ei. În schimb, clienții vor putea să verifice autenticitatea serverului.
- Certificatul (certificatele) clientului (lor)
Pentru lucru avem nevoie de un director separat, de exemplu c: \ iis. În acesta, trebuie să creați un fișier fără extensia serială și să scrieți acolo 01. De asemenea, trebuie să creați un fișier index.txt gol. În funcție de configurație, OpenSSL vă poate cere să creați foldere suplimentare în interiorul acestui dosar. În cazul meu, acesta a fost noucerturile dosarului. De asemenea, în OpenSSL.cfg, va trebui să schimbați directorul [CA_default] la c: / iis
1) Creați un certificat de root auto-semnat:
req OpenSSL -new -x509 -newkey rsa: 2048 -days 1000 -out c: \ iis \ ca.crt -keyout c: \ iis \ ca.key
- -înseamnă că noi vrem să creăm o nouă interogare
- -x509 că dorim imediat un certificat auto-semnat
- -newkey rsa: 2048 Lăsați acolo și apoi cheia pentru noi va genera o lungime de 2048 de biți. în loc de rsa:<кол-во бит>, Apropo, puteți specifica dsa:<файл с параметрами> sau ec:<файл с параметрами>
- -zilele 1000 - certificatul va expira după 1000 de zile
- -out și -keyout specificați unde să salvați certificatul și cheia privată de la acesta
După o serie de întrebări simple în directorul iis, apare un certificat ca.crt, iar cheia privată din el este ca.key
Acum, pentru ca IIS să recunoască toate certificatele semnate de certificatul rădăcină, trebuie să instalați certificatul rădăcină în magazinul autorității de certificate de încredere al computerului:
- Rularea mmc
- Adăugați certificatele de tip "snap-in" și specificați că va gestiona certificatele pentru contul computerului. altfel nimic nu se va întâmpla.
- Deschidem "Centrele de certificare a rădăcinilor de încredere" și ne importăm CA acolo:
Gata! Puteți începe să lucrați cu serverul.
2) În Consola de administrare IIS, accesați Certificatele serverului, faceți clic dreapta pe meniu și faceți clic pe Creare cerere nouă de certificat. Salvați-l în c: \ iis ca server.csr
Acum vom semna cererea pentru certificatul de server cu certificatul rădăcină:
openssl cca -days 1000 -policy policy_anything -keyfile c: \ iis \ ca.key -cert c: \ iis \ ca.crt -in c: \ iis \ server.csr -out c: \ iis \ server.cer
-Politica de politică înseamnă că certificatul va primi toate politicile posibile de aplicare. Cea mai simplă opțiune. Cred că parametrii rămași nu au nevoie de explicații. Principalul lucru nu este să fii confuz în cazul în care fișierul de specificat.
După aceasta, vom avea un certificat de server server.cer în c: \ iis. pe care trebuie să le instalați în IIS.
Pentru a face acest lucru, mergem din nou la "certificatele serverului", selectați "Solicitați o instalare de certificat" și acolo specificăm c: \ iis \ server.cer.
Totul, există un certificat de la server.
Acum, trebuie să creați o nouă legare https în legăturile pentru nod și să selectați certificatul de server din listă:
După aceasta, trebuie să setați opțiunile din setările SSL pentru nod după cum urmează:
3) Generați o solicitare pentru un certificat client
OpenSSL req -new rsa -newkey: 2048 -days 1000 -keyout c: \ iis \ client.key -out c: \ iis \ client.csr
Aici nu am specificat -x509, deci am primit o cerere comună pentru certificat și cheia privată a clientului.
Semnează solicitarea:
openssl CA -days 1000 -policy policy_anything -keyfile c: \ iis \ ca.key -cert c: \ iis \ ca.crt -in c: \ iis \ client.csr -out c: \ SII \ client.crt
Tot aici, totul este clar, ca rezultat, vom primi client client certificate.crt
Acum, pentru a importa certificatul client în magazinul de certificate Windows împreună cu cheia, trebuie să convertim cheia crt + într-un container .pfx:
OpenSSL PKCS12 -export -inkey c: \ iis \ client.key -in c: \ iis \ client.crt -out c: \ iis \ client.pfx
Ura! Am primit client.pfx. făcând dublu clic pe care puteți apela dialogul pentru importul certificatelor și, de fapt, instalați ceea ce sa întâmplat în seiful personal.
Puteți genera un alt certificat cu alte date și, de asemenea, să îl importați. Apoi, când mergeți la server, vi se va cere să alegeți oricare dintre ele:
Asta e tot)
Ultimul pas este să codificați pagina aspx (salvați-o ca Default.aspx), ceea ce vă va permite să verificați totul: Se afișează informații despre certificatul client:
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Security.Cryptography" %>