- Сертификатът за корен (Certificate Authority, или Калифорния). Двете страни ще подпишат всички останали.
- Сертификат за домейни (сървър). Те ще се покажат на клиентите IIS. От друга страна, клиентите ще могат да проверяват самоличността на сървъра.
- Сертификат (и) на клиента (и)
За работа, ние трябва отделна папка, например C: \ IIS. Необходимо е да създадете файл с разширение не сериен и пишат до 01, тъй като има нужда да се създаде празен файл index.txt. В зависимост от конфигурацията на OpenSSL да бъдете помолени да създадете папка вътре, че все още има нещо. В моя случай това е newcerts папка. Също така в OpenSSL.cfg ще трябва да се промени в [CA_default] реж до С: / IIS
1) Създаване на самоподписан сертификат корен:
OpenSSL REQ -Нови -x509 -newkey RSA: 2048 -days 1000 напускане C: \ IIS \ ca.crt -keyout C: \ IIS \ ca.key
- -нови средства, които искаме да се създаде нова заявка
- -x509, че просто искам самоподписаният сертификат
- -newkey RSA: 2048 Нека веднага и ние ще генерира ключ дължина 2048 бита. вместо RSA:<кол-во бит>, Между другото, можете да посочите DSA:<файл с параметрами> или ЕО:<файл с параметрами>
- -дни 1000 - удостоверението ще изтичат през 1000 дни
- --keyout навън и да посочи къде да бъде запазен сертификата и частния ключ от него
След поредица от прости въпроса появи в папката IIS сертификат ca.crt и частен ключ от него ca.key
Сега, IIS признават всички сертификати, подписани от корена, трябва да инсталирате главния сертификат в доверени магазин компютърни центрове за сертификати:
- тичам MMC
- Добави сертификати Самофиксиращи и да посочат, че той ще управлява удостоверения dlyauchetnoy компютърни записи. в противен случай тя няма да започне.
- Отворете "Trusted Root Certification Authorities" и за внос на нашия CA:
Готово! Можете да започнете да работите със сървъра.
2) В конзола за управление на IIS, отидете на "Сървърът сертификати", извикайте менюто на десния бутон и кликнете, за да създадете нова заявка за сертификат. Запишете го в C: \ IIS как server.csr
Сега подпише искането за сертификат на сървъра основен сертификат:
OpenSSL ва -days 1000 -policy policy_anything -keyfile C: \ IIS \ ca.key -cert C: \ IIS \ ca.crt -в C: \ IIS \ server.csr напускане C: \ IIS \ server.cer
-политика policy_anything означава, че удостоверението се извършва всяка възможна политика приложение. Най-лесният вариант. Другите параметри, според мен, не е необходимо в обяснението. Основното нещо е да не се объркате, където да посочите кой файл.
След това имаме в C: \ IIS ще server.cer в сертификата на сървъра. да бъде инсталиран в IIS.
За да направите това, ние отново отидете на "Сървърни сертификати", изберете "Сертификат за инсталиране Request" и там уточни C: \ IIS \ server.cer.
Всички сертификата на сървъра е.
Сега трябва да се автомати за сайта, за да създадете нов HTTPS задължителни и изберете от нашия списък на сертификат на сървъра:
След това, което трябва в настройките на SSL за пут опция на сайта, както следва:
3) Създаване на заявка за клиентски сертификат
OpenSSL Req -Нови -newkey RSA: 2048 -days 1000 -keyout C: \ IIS \ client.key напускане C: \ IIS \ client.csr
Тук не посочи -x509, така че имам нормален искане за сертификата и частния ключ на клиента.
Заявка за подписване:
OpenSSL ва -days 1000 -policy policy_anything -keyfile C: \ IIS \ ca.key -cert C: \ IIS \ ca.crt -в C: \ IIS \ client.csr напускане C: \ IIS \ client.crt
Тук също всичко е ясно, че в резултат ще получим сертификат slienta client.crt
Сега, за да импортирате сертификата за клиентската програма в сертификат магазина на Windows с ключа, ние трябва да konvertnut CRT + ключ контейнер .pfx:
OpenSSL pkcs12-износ -inkey C: \ IIS \ client.key -в C: \ IIS \ client.crt напускане C: \ IIS \ client.pfx
Ура! Получихме client.pfx. кликнете два пъти върху това, можете да се обадите на диалога Certificate Import и действително да установи какво се е случило в частния магазина.
Можете да генерирате нов сертификат с други данни, а също и да го внесе. След това при влизане в сървъра предлага да изберете всеки един от тях:
Това е всичко)
Накрая код ASPX страници (да го запишете като Default.aspx), която ви дава възможност да се провери всичко: Той показва информация за сертификата за клиентската програма:
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Security.Cryptography" %>