Certyfikat X.509 w trzy minuty

Centrum w tym momencie jest gotowe do wystawiania certyfikatów produkcyjnych. Żeby uniknąć męczącego wpisywania danych do nowych certyfikatów za każdym razem możemy stworzyć sobie bibliotekę wzorców najczęściej generowanych certyfikatów w zakładce Templates.

1. W zakładce Templates wybieramy New Template. Na początek wygenerujemy certyfikat kliencki służący do szyfrowania poczty elektronicznej.

2. W okienku Preset Template values wybieramy HTTPS_Client i wciskamy OK. Spowoduje to załadowanie do wzorca certyfikatu rozszerzeń typowych dla klienta SSL, możliwych także do zastosowania przy szyfrowaniu poczty elektronicznej.

3. W zakładce Subject wpisujemy wartości, które będą wpisywane do nowotworzonych certyfikatów podobnie jak w punkcie 2 opisanej powyżej procedury generowania certyfikatów głównego. Wpisać należy tylko elementy stałe - pola, które będą zmienne w każdym nowym certyfikacie (zwłaszcza Common name) należy pozostawić puste. W polu Internal name należy wpisać nazwę tworzonego właśnie wzorca (np. "email").

4. W pozostałych zakładkach nie zmieniamy nic. Wciskamy OK i do bazy wzorców dodawany jest nowy pod nazwą "email".

Teraz możemy łatwo generować certyfikaty klienckie umożliwiające szyfrowanie i podpisywanie poczty elektronicznej, a także inne zastosowania w zależności od aplikacji. Certyfikaty będziemy generować wraz z kluczami prywatnymi, które następnie będą udostępniane użytkownikom razem z certyfikatami.

1. W zakładce Certificates wciskamy New certificate. Pojawia się okno Create X509 Certificate.

2. W zakładce Source:

a. W polu Signing wybieramy Use this Certificate for Signing I wskazujemy certyfikat naszego centrum Ca1.

b. W polu Signature algorithm wybieramy SHA1.

c. W polu Template wybieramy założony przed chwilą wzorzec "email" i wciskamy Apply.

3. W zakładce Subject:

a. Uzupełniamy zawartość pól Common name (np. "Jan Kowalski") oraz Internal name (np. "jk1"). Jeśli certyfikat ma być uzywany do poczty elektronicznej to koniecznie podajemy adres email w polu Email. Istotne jest, by adres email był dokładnie taki jak skonfigurowany w programie pocztowym, w przeciwnym razie program nie rozpozna certyfikatu (dotyczy to sytuacji, gdy użytkownik posługuje się np. aliasem "jkowalski@domena", a program pobiera pocztę z konta "jan.kowalski@domena").

b. W polu Private key wciskamy Generate a new key. Wybieramy długość klucza 1024 bity I nazwę "jk1".

4. W zakładce Extensions:

a. Klikamy przycisk Edit w polu Subject alternative name. Pozostawiamy domyślną wartość email:copy I wciskamy Add, a następnie Apply. Dzięki temu do pola SubjectAlternativeName certyfikatu X.509 zostanie skopiowany atrybut Email pola Subject. Pole to pozwala programom pocztowym odnaleźć właściwy certyfikat dla listu otrzymanego z danego adresu email.

Certyfikat X.509 w trzy minuty

b. Zwracamy uwagę na pola Validity i Time range. Określają one okres ważności certyfikatu. Domyślna wartość to jeden rok (365 dni), ale nic nie stoi na przeszkodzie by certyfikat, który wystawiamy samodzielnie dla naszych potrzeb miał okres ważności znacznie większy. Nie powinien on być jednak dłuższy niż czas ważności certyfikatu głównego.

Certyfikat X.509 w trzy minuty

c. W pozostałych zakładkach nie zmieniamy nic. Wciskamy przycisk OK na dole okna i certyfikat jest gotowy.

W tym momencie dysponujemy już w pełni funkcjonalnym drzewem certyfikatów składającym się z certyfikatu głównego (CA - Certifying Authority) i certyfikatu użytkownika końcowego (EE - End-entity). Zarówno certyfikaty jak i klucz prywatny istnieją jednak na razie wyłącznie w bazie programu XCA. Żeby móc ich używać w praktyce konieczne jest zainstalowanie ich w systemie operacyjnym.

Standardem w takim przypadku jest użycie kontenera PKCS12, który jest rodzajem zaszyfrowanego hasłem archiwum, służącego do względnie bezpiecznego przenoszenia klucza prywatnego wraz z certyfikatami.

1. W zakładce Certificates głównego okna programu wybieramy z drzewa certyfikat użytkownika (w razie potrzeby drzewo trzeba rozwinąć plusem).

2. Klikamy przycisk Export po prawej stronie.

3. W polu File wskazujemy dokąd ma być wyeksportowany plik - np. na pulpit.

4. W polu Export format wybieramy PKCS#12 with Certificate chain. W ten sposób do kontenera PKCS#12 wyeksportujemy nie tylko klucz I certyfikat użytkownika, ale także certyfikat naszego centrum certyfikacji.

Certyfikat X.509 w trzy minuty

5. Klikamy OK.

6. Pojawia się okno do wpisania hasła zabezpieczającego kontener PKCS12. Hasło zabezpiecza klucz prywatny jeśli plik jest udostępniany użytkownikowi np. na pamięci USB lub przez udział sieciowy.

Wynikowy plik PKCS#12 zawiera klucz prywatny i certyfikat użytkownika, oraz wszystkie certyfikaty w drzewie (w tym przypadku jeden) i może być łatwo zaimportowany do magazynu certyfikatów systemu Windows lub przeglądarki Firefox. Stamtąd mogą łatwo skorzystać z niego aplikacje działające w systemie.

Za pomocą programu XCA można zbudować rozbudowane drzewo certyfikacji, składające się z kilku gałęzi i centrów podrzędnych (sub-CA). Bezpieczeństwo kluczy prywatnych nie jest oczywiście zbyt wysokie, biorąc pod uwagę że jedyną ochronę stanowi hasło używane do szyfrowania bazy programu. Do wielu zastosowań w niewielkich organizacjach i firmach jest to poziom w zupełności wystarczający.


TOP 200