Разработчиците и ИТ администраторите без съмнение имат нужда да инсталират някои уебсайтове чрез HTTPS, използвайки SSL сертификат. Макар че този процес е доста ясен за производствен сайт, за целите на разработването и тестването може да се окаже и необходимостта да използвате сертификат за SSL тук.
Като алтернатива на закупуването и подновяването на годишен сертификат можете да увеличите способността на Windows Server да генерира сертификат, който е удобен, лесен и трябва да отговаря напълно на тези нужди.
Въпреки че има няколко начина да се изпълни задачата за създаване на сертификат, който да бъде подписан от нас, ще използваме помощната програма SelfSSL от Microsoft. За съжаление, това не се изпраща с IIS, но е свободно достъпно като част от IIS 6.0 Resource Toolkit (връзката е предоставена в долната част на тази статия). Въпреки името "IIS 6.0" тази програма работи добре в IIS 7.
Всичко, което е необходимо, е да извлечете IIS6RT, за да получите помощната програма selfssl.exe. От тук можете да го копирате в директорията на Windows или мрежово устройство / USB устройство за бъдещо използване на друга машина (затова не е нужно да изтегляте и извличате пълния IIS6RT).
След като разполагате с помощната програма SelfSSL, изпълнете следната команда (като администратор), като замените стойностите по подходящ начин:
самостоятелно / N: CN = / V:
Примерът по-долу създава самостоятелно подписан "wildcard" сертификат срещу "mydomain.com" и го определя за валиден за 9999 дни. Освен това, като отговорите с "да" на подканата, този сертификат автоматично се конфигурира, за да се свърже към порт 443 в уеб сайта по подразбиране на IIS.
Докато в този момент сертификатът е готов за употреба, той се съхранява само в магазина за персонални сертификати на сървъра. Това е най-добрата практика да имате и този сертификат в доверения корен.
Отидете на Start> Run (или Windows Key + R) и въведете "mmc". Може да получите подкана на UAC, да я приемете и да се отвори празна конзола за управление.
В конзолата отидете на File> Add / Remove Snap-in.
Добавете сертификати отляво.
Изберете Компютърна сметка.
Изберете Local computer.
Кликнете върху OK, за да видите магазина за местни сертификати.
Придвижете се до Лични> Сертификати и намерете сертификата, който сте настроили, като използвате помощната програма SelfSSL. Кликнете с десен бутон на мишката върху сертификата и изберете Копиране.
Придвижете се до Сертифицирани власти за надеждни корени> Сертификати. Кликнете с десния бутон върху папката "Сертификати" и изберете "Поставяне".
Записът за SSL сертификата трябва да се появи в списъка.
В този момент сървърът ви няма да има проблеми при работа с сертификата, който е подписал.
Ако възнамерявате да осъществявате достъп до сайт, който използва самостоятелно подписания SSL сертификат на която и да е клиентска машина (т.е. всеки компютър, който не е сървърът), за да избегнете потенциална атака на грешки и предупреждения за сертификат, на всяка от клиентските машини (което ще разгледаме подробно по-долу). За да направите това, първо трябва да експортирате съответния сертификат, за да може той да бъде инсталиран на клиентите.
Вътре в конзолата, където е заредено управлението на сертификата, отидете в Сертификати за надеждни сертифициращи корени> Сертификати. Намерете сертификата, щракнете с десния бутон и изберете Всички задачи> Експортиране.
Когато бъдете подканени да експортирате частния ключ, изберете Да. Кликнете върху Напред.
Оставете стандартните селекции за файловия формат и кликнете върху Напред.
Въведете парола. Това ще бъде използвано за защита на сертификата и потребителите няма да могат да го импортират локално, без да въвеждат тази парола.
Въведете местоположение, за да експортирате файла на сертификата. Той ще бъде във формат PFX.
Потвърдете настройките си и кликнете върху Край.
Полученият PFX файл е това, което ще бъде инсталирано на клиентските ви машини, за да им кажете, че вашият сертификат е подписан от доверен източник.
След като създадете сертификата от сървъра и всичко работи, може да забележите, че когато клиентската машина се свърже със съответния URL адрес, се показва предупреждение за сертификат. Това се случва, защото сертификационният орган (вашият сървър) не е надежден източник за SSL сертификати на клиента.
Можете да кликнете върху предупрежденията и да получите достъп до сайта, но може да получите повторни известия под формата на маркирана лента с URL адреси или повтарящи се предупреждения за сертификати. За да избегнете това неприятности, просто трябва да инсталирате сертификата за персонализиран SSL за защита на клиентската машина.
В зависимост от браузъра, който използвате, този процес може да варира. IE и Chrome четат и двете от магазина за сертификати на Windows, но Firefox има персонализиран метод за обработка на сертификати за сигурност.
Важна забележка: Ти трябва никога инсталирайте сертификат за защита от неизвестен източник. На практика трябва да инсталирате сертификат локално само ако го генерирате. Няма законни уебсайтове, които да изискват от вас да изпълните тези стъпки.
Забележка: Въпреки че Firefox не използва природния магазин за сертификати на Windows, това все още е препоръчителна стъпка.
Копирайте сертификата, който е бил експортиран от сървъра (PFX файла), в клиентската машина или се уверете, че е наличен по мрежов път.
Отворете управлението на локалния магазин за сертификати на клиентската машина, като използвате същите стъпки, както по-горе. В крайна сметка ще завършите на екран като този по-долу.
Отляво, разгънете Сертификати> Връзки с доверени коренни сертифициращи органи. Кликнете с десния бутон върху папката "Сертификати" и изберете Всички задачи> Импортиране.
Изберете сертификата, който е копиран локално на вашето устройство.
Въведете паролата за защита, зададена, когато сертификатът е бил експортиран от сървъра.
Магазинът "Упълномощени органи за сертифициране на корени" трябва да бъде предварително попълнен като местоназначение. Кликнете върху Напред.
Прегледайте настройките и кликнете върху Край.
Трябва да видите съобщение за успех.
Обновете изгледа си на папката "Удостоверени авторите на сертификата за поверителност"> "Сертификати" и трябва да видите сертификата за самоподписване на сървъра, посочен в магазина.
Едно от тях е направено, трябва да можете да сърфирате до сайт HTTPS, който използва тези сертификати и не получава предупреждения или подкани.
Firefox обработва този процес малко по-различно, тъй като не чете информация за сертификатите от магазина на Windows. Вместо да инсталирате сертификати (per-se), той ви позволява да дефинирате изключения за SSL сертификати за определени сайтове.
Когато посетите сайт, който има грешка в сертификата, ще получите предупреждение като това по-долу. Областта в синьо ще наименува съответния URL адрес, до който се опитвате да осъществите достъп. За да създадете изключение, за да заобиколите това предупреждение на съответния URL адрес, кликнете върху бутона Добавяне на изключение.
В диалоговия прозорец Добавяне на сигурност за изключване кликнете върху "Потвърждаване на изключението за сигурност", за да конфигурирате това изключение локално.
Имайте предвид, че ако даден сайт пренасочи към поддомейни от самия себе си, може да получите няколко предупреждения за сигурност (като URL адресът е леко различен всеки път). Добавете изключения за тези URL адреси, като използвате същите стъпки, както по-горе.
Струва си да повторите известието по-горе, което трябва да направите никога инсталирайте сертификат за защита от неизвестен източник. На практика трябва да инсталирате сертификат локално само ако го генерирате. Няма законни уебсайтове, които да изискват от вас да изпълните тези стъпки.
Изтеглете IIS 6.0 Resource Toolkit (включва инструмент SelfSSL) от Microsoft