Programiści i administratorzy IT bez wątpienia potrzebują wdrożenia witryny za pośrednictwem protokołu HTTPS przy użyciu certyfikatu SSL. Chociaż proces ten jest dość prosty w przypadku strony produkcyjnej, w celu rozwoju i testowania może się okazać, że również tutaj konieczne jest użycie certyfikatu SSL.
Jako alternatywa dla zakupu i odnowienia rocznego certyfikatu, możesz wykorzystać zdolność systemu Windows Server do generowania samopodpisanego certyfikatu, który jest wygodny, łatwy i powinien doskonale spełniać te potrzeby.
Chociaż istnieje kilka sposobów na wykonanie zadania tworzenia certyfikatu z podpisem własnym, użyjemy narzędzia SelfSSL firmy Microsoft. Niestety nie jest to dostarczane z usługami IIS, ale jest swobodnie dostępne w ramach zestawu narzędzi Resource Tool IIS 6.0 (łącze zamieszczone na końcu tego artykułu). Pomimo nazwy "IIS 6.0" to narzędzie działa dobrze w IIS 7.
Wszystko, czego potrzeba, to wyodrębnić IIS6RT, aby pobrać narzędzie selfssl.exe. Tutaj możesz skopiować go do swojego katalogu Windows lub ścieżki sieciowej / dysku USB do wykorzystania w przyszłości na innym komputerze (abyś nie musiał pobierać i wyodrębniać całego IIS6RT).
Po zainstalowaniu narzędzia SelfSSL uruchom następującą komendę (jako administrator), zastępując wartości w zależności od potrzeb:
selfssl / N: CN = / V:
Poniższy przykład tworzy samopodpisany certyfikat wieloznaczny na "moja_domena.com" i ustawia go na 9999 dni. Ponadto, odpowiadając na pytanie "tak", ten certyfikat jest automatycznie konfigurowany w celu powiązania z portem 443 w domyślnej witrynie internetowej IIS.
O ile w tym momencie certyfikat jest gotowy do użycia, jest przechowywany tylko w osobistym magazynie certyfikatów na serwerze. Dobrą praktyką jest również ustawienie tego certyfikatu w zaufanym katalogu głównym.
Przejdź do Start> Uruchom (lub Klawisz Windows + R) i wpisz "mmc". Możesz otrzymać komunikat UAC, zaakceptuj go i otworzy się pusta konsola zarządzania.
W konsoli przejdź do Plik> Dodaj / Usuń przystawkę.
Dodaj certyfikaty z lewej strony.
Wybierz opcję Konto komputera.
Wybierz Komputer lokalny.
Kliknij OK, aby wyświetlić Magazyn certyfikatów lokalnych.
Przejdź do opcji Osobiste> Certyfikaty i zlokalizuj certyfikat, który ustawiłeś za pomocą narzędzia SelfSSL. Kliknij certyfikat prawym przyciskiem myszy i wybierz opcję Kopiuj.
Przejdź do Zaufane główne urzędy certyfikacji> Certyfikaty. Kliknij prawym przyciskiem folder Certyfikaty i wybierz polecenie Wklej.
Wpis dotyczący certyfikatu SSL powinien pojawić się na liście.
W tym momencie twój serwer nie powinien mieć problemów z obsługą certyfikatu z podpisem własnym.
Jeśli zamierzasz uzyskać dostęp do witryny, która używa certyfikatu SSL z podpisem własnym na dowolnym komputerze klienta (tj. Na dowolnym komputerze, który nie jest serwerem), w celu uniknięcia potencjalnego ataku błędów i ostrzeżeń certyfikatu, powinien zostać zainstalowany samopodpisany certyfikat na każdej z maszyn klienckich (które omówimy szczegółowo poniżej). Aby to zrobić, najpierw musimy wyeksportować odpowiedni certyfikat, aby mógł zostać zainstalowany na klientach.
Wewnątrz konsoli z załadowanym systemem zarządzania certyfikatami przejdź do Zaufane główne urzędy certyfikacji> Certyfikaty. Zlokalizuj certyfikat, kliknij prawym przyciskiem myszy i wybierz Wszystkie zadania> Eksportuj.
Gdy pojawi się monit o wyeksportowanie klucza prywatnego, wybierz opcję Tak. Kliknij Następny.
Pozostaw domyślne wybory formatu pliku i kliknij Dalej.
Wprowadź hasło. To będzie używane do ochrony certyfikatu, a użytkownicy nie będą mogli go zaimportować lokalnie bez wpisania tego hasła.
Wprowadź lokalizację, aby wyeksportować plik certyfikatu. Będzie w formacie PFX.
Potwierdź swoje ustawienia i kliknij przycisk Zakończ.
Wynikowy plik PFX zostanie zainstalowany na komputerach klienckich w celu poinformowania ich, że samopodpisany certyfikat pochodzi z zaufanego źródła.
Po utworzeniu certyfikatu po stronie serwera i sprawieniu, aby wszystko działało, możesz zauważyć, że po połączeniu się komputera klienta z odpowiednim adresem URL wyświetlane jest ostrzeżenie o certyfikacie. Dzieje się tak, ponieważ urząd certyfikacji (Twój serwer) nie jest zaufanym źródłem certyfikatów SSL na kliencie.
Możesz kliknąć ostrzeżenia i uzyskać dostęp do witryny, jednak możesz otrzymywać powtarzające się powiadomienia w postaci podświetlonego paska adresu URL lub powtarzających się ostrzeżeń o certyfikatach. Aby uniknąć tej irytacji, wystarczy zainstalować niestandardowy certyfikat bezpieczeństwa SSL na komputerze klienta.
W zależności od używanej przeglądarki ten proces może się różnić. IE i Chrome zarówno czytają ze sklepu Windows Certificate, jak i Firefox mają niestandardową metodę obsługi certyfikatów bezpieczeństwa.
Ważna uwaga: Powinieneś nigdy zainstaluj certyfikat bezpieczeństwa z nieznanego źródła. W praktyce powinieneś zainstalować lokalnie certyfikat tylko wtedy, gdy go wygenerowałeś. Żadna legalna witryna nie wymaga wykonywania tych kroków.
Uwaga: mimo że Firefox nie korzysta z natywnego magazynu certyfikatów systemu Windows, jest to nadal zalecany krok.
Skopiuj certyfikat, który został wyeksportowany z serwera (plik PFX) do komputera klienta lub upewnij się, że jest dostępny w ścieżce sieciowej.
Otwórz zarządzanie lokalnym magazynem certyfikatów na komputerze klienta, wykonując dokładnie te same kroki, co powyżej. W końcu trafisz na ekran podobny do poniższego.
Po lewej stronie rozwiń Certyfikaty> Zaufane główne urzędy certyfikacji. Kliknij prawym przyciskiem myszy folder Certyfikaty i wybierz Wszystkie zadania> Importuj.
Wybierz certyfikat, który został skopiowany lokalnie na Twój komputer.
Wprowadź hasło zabezpieczające przypisane, gdy certyfikat został wyeksportowany z serwera.
Sklep "Zaufane główne urzędy certyfikacji" powinien zostać wstępnie wypełniony jako miejsce docelowe. Kliknij Następny.
Przejrzyj ustawienia i kliknij przycisk Zakończ.
Powinieneś zobaczyć komunikat o powodzeniu.
Odśwież widok folderu Zaufane główne urzędy certyfikacji> Certyfikaty i powinieneś zobaczyć podpisany przez siebie certyfikat serwera w sklepie.
Po wykonaniu tej czynności powinieneś mieć możliwość przeglądania witryny HTTPS, która korzysta z tych certyfikatów i nie otrzymuje ostrzeżeń ani monitów.
Firefox obsługuje ten proces nieco inaczej, ponieważ nie odczytuje informacji o certyfikacie ze sklepu Windows. Zamiast instalować certyfikaty (per-se), umożliwia definiowanie wyjątków dla certyfikatów SSL w określonych witrynach.
Podczas odwiedzania witryny z błędem certyfikatu pojawi się ostrzeżenie podobne do poniższego. Obszar oznaczony kolorem niebieskim określi odpowiedni adres URL, do którego próbujesz uzyskać dostęp. Aby utworzyć wyjątek, który pomija to ostrzeżenie w odpowiednim adresie URL, kliknij przycisk Dodaj wyjątek.
W oknie dialogowym Add Security Exception kliknij opcję Confirm Security Exception, aby skonfigurować ten wyjątek lokalnie.
Zwróć uwagę, że jeśli dana witryna przekierowuje do subdomen z samej siebie, możesz otrzymać wiele ostrzeżeń dotyczących bezpieczeństwa (przy czym adres URL jest nieco inny za każdym razem). Dodaj wyjątki dla tych URL-i, wykonując te same kroki co powyżej.
Warto powtórzyć powyższą uwagę, że powinieneś nigdy zainstaluj certyfikat bezpieczeństwa z nieznanego źródła. W praktyce powinieneś zainstalować lokalnie certyfikat tylko wtedy, gdy go wygenerowałeś. Żadna legalna witryna nie wymaga wykonywania tych kroków.
Pobierz IIS 6.0 Resource Toolkit (zawiera narzędzie SelfSSL) firmy Microsoft