Windows KSP i PKCS#11 z PKI Proxy¶
Niniejszy dokument wyjaśnia użycie PKI Proxy z NetHSM. PKI Proxy umożliwia korzystanie z NetHSM za pośrednictwem natywnych interfejsów API systemu Microsoft Windows. W tym celu PKI Proxy zawiera KSP (Key Storage Provider), który umożliwia jego użycie za pośrednictwem interfejsu CNG (Cryptography API: Next Generation). Dodatkowo zapewnia dostęp PKCS#11 do NetHSM, ale powinno to być używane tylko wtedy, gdy konfiguracja tego wymaga, na przykład, jeśli potrzebujesz dodatkowych funkcji uwierzytelniania PKI Proxy lub chcesz użyć PKI Proxy jako bramy, aby uniknąć bezpośredniego narażania NetHSM na klientów. We wszystkich innych przypadkach należy używać bezpośrednio sterownika NetHSM PKCS#11.
Wdrożenie NetHSM z PKI Proxy wygląda następująco.
NetHSM udostępnia interfejs API REST, który jest używany przez sterownik NetHSM PKCS#11. PKI Proxy używa tego sterownika do łączenia się z NetHSM i uzyskiwania dostępu do jego kluczy i certyfikatów. Klienci PKI Proxy używają REST API serwera PKI Proxy, aby uzyskać dostęp do kluczy i certyfikatów. Aplikacje na kliencie mogą korzystać z natywnego interfejsu API systemu Windows lub sterownika PKCS#11. Komunikacja między NetHSM a serwerem PKI Proxy i klientami PKI Proxy jest szyfrowana. Serwer i klient PKI Proxy mogą być uruchomione na tym samym komputerze.
Możliwe przypadki użycia tej konfiguracji są następujące:
Code signing
Document signing
Wskazówka
Więcej informacji można znaleźć w oficjalnej dokumentacji PKI Proxy.
Prerequisits¶
NetHSM (sprzętowy lub kontenerowy) - Provisioned - adres IP NetHSM musi być znany, a port HTTPS musi być osiągalny.
Maszyna z systemem Windows - zainstalowany i skonfigurowany sterownik NetHSM PKCS#11 (wymagany tylko na serwerze PKI Proxy).
Ważne
Na niektórych komputerach serwer proxy PKI może ulec awarii podczas procedury rozładowywania modułu NetHSM PKCS#11. Jest to błąd w zależności modułu i śledzony w tym wydaniu GitHub. Jeśli napotkasz ten błąd, ustaw opcję konfiguracji disable_thread_pool na true w pliku konfiguracyjnym NetHSM PKCS#11. Zapoznaj się z przykładowym plikiem konfiguracyjnym ` <https://github.com/Nitrokey/nethsm-pkcs11/blob/main/p11nethsm.example.conf>` __, aby lepiej zrozumieć, jak go skonfigurować.
Serwer proxy PKI¶
Serwer PKI Proxy udostępnia klucze i certyfikaty z NetHSM dla różnych użytkowników.
Instalacja¶
Download the PKI Proxy 2024 installer from the /n software website.
Otwórz instalator i postępuj zgodnie z instrukcjami kreatora instalacji.
Otwórz PKI Proxy z menu Start. Jeśli zainstalowałeś go w domyślnej lokalizacji, możesz również uruchomić go za pomocą następującego polecenia z okna dialogowego Uruchom lub PowerShell.
C:\Program Files\PKI Proxy 2024\PKIProxy.exeInformacja
PKI Proxy zminimalizuje się do zasobnika systemowego, nawet jeśli główne okno zostanie zamknięte.
Service Configuration¶
Poniższe instrukcje konfigurują serwer proxy PKI.
Open the PKI Proxy main window.
Change to the Settings tab.
Upewnij się, że pole wyboru Enable TLS jest zaznaczone i używany jest odpowiedni certyfikat.
Change to the Users tab.
Utwórz nowego użytkownika, klikając przycisk New…. Wybierz typ uwierzytelniania obsługiwany przez wszystkich klientów.
Na pasku menu okna głównego kliknij przycisk Start, aby uruchomić usługę PKI Proxy.
Publish Certificates from the NetHSM¶
Poniżej konfigurujemy, które certyfikaty z NetHSM są udostępniane przez PKI Proxy.
Upewnij się, że główne okno PKI Proxy jest otwarte.
Change to the Certificates tab.
Kliknij przycisk New…. Spowoduje to otwarcie okna Share Certificate.
Kliknij przycisk Select Certificate or Key… w ramce Certificate okna. Spowoduje to otwarcie okna Select a Private Key.
Przejdź do karty Security Key.
Kliknij przycisk Browse… i wybierz plik biblioteki sterownika NetHSM PKCS#11. W polu tekstowym PKCS#11 Library pojawi się ścieżka do pliku biblioteki.
Z menu rozwijanego Security Key (PKCS#11) wybierz gniazdo zawierające certyfikat. Wymienione gniazda zależą od konfiguracji modułu PKCS#11.
Click the Open button.
Lista tekstowa poniżej Certificates pokazuje teraz listę dostępnych certyfikatów i kluczy generycznych na NetHSM. Wybierz certyfikat lub klucz ogólny, który chcesz udostępnić PKI Proxy.
Kliknij przycisk OK, aby potwierdzić wybór. Spowoduje to powrót do okna Share Certificate. Okno wyświetli teraz szczegóły wybranego certyfikatu.
Kliknij przycisk Add… w ramce Access and Permissions okna. Spowoduje to otwarcie okna Select user.
Wybierz istniejącego użytkownika z rozwijanego menu lub utwórz nowego, wybierając Create New User…. Kliknij przycisk OK, aby potwierdzić wybór. W przypadku wybrania opcji utworzenia nowego użytkownika zostanie wyświetlone okno New User.
Z powrotem w oknie Udostępnij certyfikat upewnij się również, że zezwalasz tylko na wymagane operacje dla certyfikatu lub klucza ogólnego. Można to zmienić za pomocą pól wyboru w dolnej części ramki Access and Permissions.
Kliknij przycisk OK, aby opublikować certyfikat. Spowoduje to powrót do głównego okna PKI Proxy.
Lista tekstowa poniżej Certificate Management pokazuje teraz opublikowany certyfikat.
Ważne
Upewnij się, że mechanizmy klucza współdzielonego na NetHSM pozwalają na zamierzone użycie w PKI Proxy.
PKI Proxy - Klient¶
Narzędzia klienckie PKI Proxy zapewniają różne sposoby dostępu do współdzielonych kluczy i certyfikatów z serwera PKI Proxy.
Wskazówka
Serwer PKI Proxy zawiera narzędzia klienckie. Dlatego maszyna, na której działa serwer, może być również klientem dla siebie.
Instalacja¶
Pobierz PKI Proxy 2024 - Client Tools ze strony internetowej /n software.
Otwórz instalator i postępuj zgodnie z instrukcjami kreatora instalacji.
KSP (Key Storage Provider)¶
PKI Proxy zapewnia KSP do połączenia z serwerem PKI Proxy. KSP umożliwia korzystanie z natywnych interfejsów API systemu Windows z aplikacjami za pośrednictwem interfejsu CNG (Cryptography API: Next Generation). Więcej informacji można znaleźć w dokumentacji PKI Proxy.
PKCS#11¶
PKI Proxy zapewnia moduł PKCS#11 do połączenia z serwerem PKI Proxy. Więcej informacji można znaleźć w dokumentacji PKI Proxy.