Łańcuchy certyfikatów
Aby używać certyfikatów w celu zabezpieczenia, należy zweryfikować autentyczność i ważność każdego odebranego certyfikatu. Ta weryfikacja zależy od koncepcji zaufania i delegowania zaufania; Aby uzyskać więcej informacji, zobacz Hierarchia zaufania.
Każdy certyfikat zawiera pole podmiotu, które identyfikuje jednostkę lub grupę, do której wystawiono certyfikat. Każdy certyfikat zawiera również pole wystawcy, które identyfikuje urząd certyfikacji (CA) uprawniony do certyfikacji tożsamości podmiotu.
Łańcuch certyfikatów składa się ze wszystkich certyfikatów wymaganych do certyfikowania podmiotu zidentyfikowanego przez certyfikat końcowy. W praktyce obejmuje to certyfikat końcowy, certyfikaty pośrednich urzędów certyfikacji i certyfikat głównego urzędu certyfikacji zaufany przez wszystkie strony w łańcuchu. Każdy pośredni urząd certyfikacji w łańcuchu zawiera certyfikat wystawiony przez urząd certyfikacji o jeden poziom powyżej w hierarchii zaufania. Główny urząd certyfikacji wystawia certyfikat dla siebie.
Proces weryfikowania autentyczności i ważności nowo odebranego certyfikatu polega na sprawdzeniu wszystkich certyfikatów w łańcuchu certyfikatów z oryginalnego, powszechnie zaufanego urzędu certyfikacji za pośrednictwem jakichkolwiek pośrednich urzędów certyfikacji, aż do certyfikatu właśnie odebranego, który jest nazywany certyfikatem końcowym. Nowy certyfikat może być zaufany tylko wtedy, gdy każdy certyfikat w łańcuchu certyfikatu jest poprawnie wystawiony i ważny.
Śledzenie wszystkich certyfikatów, które są z powrotem nowym certyfikatem końcowym, może stać się kłopotliwe. W związku z tym technologia CryptoAPI 2.0 udostępnia funkcje, które automatyzują tworzenie łańcucha certyfikatów, które są z powrotem dla danego certyfikatu końcowego. Te funkcje sprawdzają również i zgłaszają ważność każdego certyfikatu w łańcuchu.
Funkcje tworzenia i sprawdzania łańcucha CryptoAPI 2.0 używają aparatu łańcucha do tworzenia i weryfikowania łańcuchów certyfikatów. Aparat łańcucha definiuje przestrzeń nazw magazynu i partycjonowanie pamięci podręcznej dla infrastruktury łańcucha certyfikatów. CryptoAPI 2.0 udostępnia domyślny aparat łańcucha dla każdego procesu aplikacji, który używa tylko domyślnych magazynów systemowych (na przykład MY, Root, CA i Trust) do tworzenia łańcucha i buforowania. Aplikacja może zdefiniować własną przestrzeń nazw magazynu lub mieć własną partycjonowaną pamięć podręczną, tworząc własny aparat łańcucha. Aby osiągnąć optymalne zachowanie buforowania, zalecamy utworzenie pojedynczego aparatu łańcucha podczas uruchamiania aplikacji i użycie tego aparatu łańcucha przez cały okres istnienia aplikacji.
Aby uzyskać listę funkcji, zobacz funkcje weryfikacji łańcucha certyfikatów . Aby zapoznać się z programem tworzącym łańcuchy certyfikatów i weryfikujący certyfikaty, zobacz Przykładowy program C: Tworzenie łańcucha certyfikatów.