Dostawca usług kryptograficznych (CSP) to program obsługujący uwierzytelnianie, kodowanie i usługi szyfrowania udostępniane aplikacjom opartym na systemie Windows za pomocą interfejsu CryptoAPI firmy Microsoft. Poszczególni dostawcy CSP udostępniają różne implementacje interfejsu CryptoAPI. Niektórzy dostawcy oferują silniejsze algorytmy kryptograficzne, a inni korzystają ze składników sprzętowych, takich jak karty inteligentne.
Gdy użytkownik generuje żądanie nowego certyfikatu, informacje zawarte w tym żądaniu są najpierw wysyłane z programu żądającego do interfejsu CryptoAPI. Interfejs CryptoAPI przekazuje odpowiednie dane do dostawcy usług kryptograficznych, który został zainstalowany na komputerze użytkownika lub na urządzeniu dostępnym dla tego komputera. Jeśli dostawca CSP jest oparty na oprogramowaniu, generuje na danym komputerze klucz publiczny i klucz prywatny, które często nazywa się parą kluczy. Jeśli dostawca CSP jest oparty na sprzęcie, na przykład na karcie inteligentnej, zleca wygenerowanie pary kluczy określonemu urządzeniu.
Po wygenerowaniu kluczy dostawca CSP oparty na oprogramowaniu szyfruje, a następnie zabezpiecza klucz prywatny. Dostawca CSP korzystający z karty inteligentnej magazynuje klucz prywatny na karcie. Od tego momentu karta inteligentna kontroluje dostęp do klucza.
Klucz publiczny wraz z informacjami strony żądającej certyfikatu zostaje wysłany do urzędu certyfikacji. Gdy urząd certyfikacji sprawdzi żądanie certyfikatu zgodnie ze swoimi zasadami, używa własnego klucza prywatnego do utworzenia podpisu cyfrowego w certyfikacie, a następnie wystawia ten certyfikat stronie żądającej. Certyfikat od urzędu certyfikacji jest prezentowany stronie żądającej z możliwością zainstalowania go w odpowiednim magazynie certyfikatów na komputerze lub innym urządzeniu.
Aby uzyskać więcej informacji, zobacz tematy Żądanie certyfikatu i Wskazówki dotyczące używania alternatywnych formatów podpisów.