| Termin | Definicja |
|---|---|
| certyfikat klienta | Certyfikat klienta to plik kryptograficzny potwierdzający tożsamość urządzenia lub aplikacji łączącej się z serwerem. Certyfikat klienta jako element uwierzytelnianiaCertyfikat klienta to plik kryptograficzny używany do potwierdzenia tożsamości aplikacji albo urządzenia podczas nawiązywania połączenia z serwerem. Najczęściej występuje w mechanizmie wzajemnego uwierzytelniania TLS, określanym jako mTLS (mutual TLS). W zwykłym połączeniu HTTPS serwer przedstawia certyfikat klientowi, natomiast w mTLS również klient musi przedstawić własny certyfikat i udowodnić, że posiada odpowiadający mu klucz prywatny. Sam certyfikat nie jest hasłem ani zwykłym dokumentem tekstowym. Zawiera między innymi klucz publiczny, nazwę podmiotu, wystawcę, okres ważności, numer seryjny oraz podpis urzędu certyfikacji. Dla certyfikatu przeznaczonego do uwierzytelniania klienta istotne może być rozszerzenie Extended Key Usage (EKU) z przeznaczeniem clientAuth. Serwer sprawdza wtedy nie tylko podpis certyfikatu, lecz także to, czy certyfikat jest zaufany, aktualny i dopuszczony do użycia w roli klienta. Powiązanie certyfikatu z kluczem prywatnymCertyfikat klienta działa razem z kluczem prywatnym, który powinien pozostać pod kontrolą urządzenia lub aplikacji. Klucz publiczny znajduje się w certyfikacie i może być udostępniany serwerowi. Podczas uzgadniania połączenia klient wykonuje operację kryptograficzną potwierdzającą posiadanie klucza prywatnego, ale nie przesyła tego klucza do serwera. Dlatego samo skopiowanie certyfikatu bez właściwego klucza prywatnego zwykle nie wystarcza do zalogowania się do usługi. Certyfikaty mogą być przechowywane w różnych formatach. Pliki PEM często mają rozszerzenia Weryfikacja podczas połączenia z serweremW czasie połączenia TLS serwer może zażądać od klienta certyfikatu. Klient wybiera odpowiedni certyfikat, podpisuje wymagane dane swoim kluczem prywatnym i przekazuje certyfikat oraz podpis w ramach uzgadniania sesji. Serwer buduje następnie łańcuch zaufania od certyfikatu klienta do zaufanego głównego urzędu certyfikacji. Jeżeli brakuje certyfikatu pośredniego, urząd certyfikacji nie znajduje się w zaufanym magazynie albo podpis jest nieprawidłowy, uwierzytelnianie może zakończyć się błędem. Znaczenie mają również daty Not Before i Not After, nazwa podmiotu oraz ograniczenia zastosowania klucza. Certyfikat wygasły, jeszcze nieważny lub przeznaczony wyłącznie do uwierzytelniania serwera nie powinien być używany jako certyfikat klienta. Serwer może dodatkowo sprawdzać unieważnienie certyfikatu za pomocą list CRL albo protokołu OCSP, choć sposób takiej kontroli zależy od konfiguracji konkretnej usługi. W praktyce częste są komunikaty o braku certyfikatu klienta, niezgodności klucza prywatnego, nieznanym urzędzie certyfikacji, błędnym haśle do pliku PKCS#12 lub odrzuceniu certyfikatu z powodu nieprawidłowego przeznaczenia. Diagnozowanie problemów z certyfikatem na komputerzePodstawowa diagnostyka powinna rozpocząć się od ustalenia, która aplikacja korzysta z certyfikatu i w jakim miejscu go szuka. Przeglądarka może używać magazynu certyfikatów systemu operacyjnego, natomiast program uruchamiany z własną biblioteką TLS może wymagać osobnego pliku PEM, PKCS#12 lub wskazania magazynu zaufania. Należy sprawdzić, czy certyfikat znajduje się w odpowiednim profilu użytkownika, czy ma przypisany klucz prywatny oraz czy jego data ważności odpowiada bieżącej dacie i godzinie komputera. Przydatne jest porównanie odcisku certyfikatu, nazwy wystawcy, numeru seryjnego i przeznaczenia EKU z wymaganiami administratora usługi. Nie należy usuwać przypadkowych certyfikatów z magazynu systemowego ani udostępniać pliku zawierającego klucz prywatny osobom nieuprawnionym. Jeżeli po imporcie certyfikat jest widoczny, ale serwer nadal odrzuca połączenie, przyczyną może być brak łańcucha certyfikatów pośrednich, błędna kolejność certyfikatów w pakiecie, niezgodny profil użytkownika albo ograniczenie zapisane po stronie serwera. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, w tym diagnostyką problemów z konfiguracją oprogramowania wykorzystującego certyfikaty klienta. |