Przegląd tworzenia certyfikatów cyfrowych

Aby móc używać certyfikatów cyfrowych do uruchamiania testów dla aplikacji, które wymagają certyfikatów cyfrowych po stronie klienta do uwierzytelniania użytkowników, należy ustalić z odpowiednimi administratorami serwerów, jakie typy certyfikatów trzeba utworzyć.

W kryptografii certyfikat klucza publicznego jest dokumentem, który używa podpisu cyfrowego do powiązania klucza publicznego z tożsamością fizyczną. Te certyfikaty są często określane ogólnie jako certyfikaty cyfrowe lub certyfikaty cyfrowe klienta. Standard X.509 to najpowszechniejszy standard certyfikatów cyfrowych.

W kryptografii klucza publicznego każdy certyfikat ma dwa powiązane klucze: klucz publiczny i klucz prywatny. Klucz publiczny jest uwzględniony w certyfikacie X.509 i jest zawsze dostępny z samym certyfikatem. Klucz prywatny jest zawsze przechowywany jako prywatny (oznacza to, że nigdy nie jest przesyłany). W celu ułatwienia przenośności dwa klucze (i certyfikat) mogą być zawarte w jednym szyfrowanym i chronionym hasłem formacie znanym jako PKCS#12.

W celu umożliwienia weryfikacji autentyczności certyfikatu jest on podpisany cyfrowo przez inny certyfikat, znany jako ośrodek certyfikacji (CA). Ten certyfikat ośrodka CA może zostać utworzony (i być bezpiecznie przechowywany) przez firmę udostępniającą bezpieczną aplikację lub przez firmę taką jak Verisign.

Jeśli aplikacja WWW wymaga certyfikatów cyfrowych, administrator zwykle tworzy certyfikaty cyfrowe dla każdego autoryzowanego użytkownika. Administrator podpisuje cyfrowo każdy certyfikat za pomocą systemowego certyfikatu ośrodka CA. Te certyfikaty wraz z kluczami publicznymi i prywatnymi są dystrybuowane do użytkowników. Często klucze te będą dystrybuowane w formacie PKCS#12. Użytkownicy mogą następnie zaimportować te certyfikaty do swoich przeglądarek WWW. Gdy przeglądarka zostanie wezwana przez serwer, wygeneruje swój certyfikat.

Podczas importowania certyfikatów dla aplikacji WWW należy zaznaczyć pole wyboru wskazujące, że klucze będą mogły być eksportowane. Po tym wskazaniu można wyeksportować certyfikat do pliku w formacie PKCS#12 w celu jego późniejszego użycia przez inne programy.

Podczas testowania wydajności nie należy używać certyfikatów, które są przypisane do rzeczywistych użytkowników. Należy korzystać z certyfikatów testowych, które nie odpowiadają rzeczywistym użytkownikom.

Istnieją cztery typy certyfikatów, które mogą być używane podczas testowania:

Certyfikaty samopodpisane są używane, gdy żadna jednostka nie wymaga poręczenia autentyczności certyfikatu. Są to certyfikaty najprostsze do utworzenia i użycia. Do reprezentowania określonego użytkownika jest jednak zwykle używany certyfikat podpisany.

Certyfikaty podpisane są używane, gdy wymagane jest utworzenie i wystawienie certyfikatu tylko jednemu użytkownikowi. Certyfikaty podpisane są podpisane przez ośrodek certyfikacji (CA).

Certyfikaty ośrodka certyfikacji (CA) to certyfikaty samopodpisane używane do podpisywania (certyfikowania) certyfikatów.

Certyfikaty niepodpisane to certyfikaty, które nie są podpisane przez ośrodek CA ani samopodpisane. Większość aplikacji WWW nie używa certyfikatów niepodpisanych.

Podczas tworzenia certyfikatu samopodpisanego lub podpisanego (w tym certyfikatów ośrodka CA) można określić podmiot. Podmiot certyfikatu to zestaw atrybutów nazwy wyróżniającej X.500, który jest zakodowany w certyfikacie. Podmiot umożliwia odbiorcy certyfikatu wyświetlenie informacji o właścicielu certyfikatu. Podmiot zawiera opis właściciela certyfikatu, ale nie musi być unikalny. Podmioty można porównać z pozycjami w książce telefonicznej - może istnieć wiele pozycji Jan Kowalski, ale każda z nich odwołuje się do innej osoby.

Podmiot może zawierać wiele różnych typów danych identyfikujących. Zwykle podmiot obejmuje następujące atrybuty:

Atrybut Przykład
NAZWA ZWYKŁA (CN) CN=Jan Kowalski
ORGANIZACJA (O) O=IBM Corporation
JEDNOSTKA ORGANIZACYJNA (OU) OU=IBM Software Group
KRAJ (C) C=PL
MIEJSCOWOŚĆ (L) L=Warszawa
REGION lub WOJEWÓDZTWO (ST) ST=Mazowieckie
ADRES E-MAIL (emailAddress) emailAddress=kowalski@abc.ibm.com

Te informacje mogą być wprowadzane jako jeden łańcuch przy użyciu ukośników, które oddzielają dane.

Na przykład powyższy podmiot zostałby wpisany w następujący sposób:

/CN=Jan Kowalski/O=IBM Corporation/OU=IBM Software Group/C=PL/L=Warszawa/ST=Mazowieckie/emailAddress=kowalski@abc.ibm.com

Więcej informacji na temat używania dostarczonego programu wiersza komend do tworzenia certyfikatów zawiera sekcja Tworzenie bazy certyfikatów cyfrowych.


Opinia