Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Cloud HSM obsługuje magazyn certyfikatów za pośrednictwem PKCS#11, umożliwia aplikacjom zarządzanie certyfikatami X.509 wraz z kluczami. Ten samouczek zawiera instrukcje krok po kroku dotyczące konfigurowania wymagań wstępnych magazynu certyfikatów, w tym Azure Blob Storage i konfiguracji tożsamości zarządzanej. Aby uzyskać szczegółowe informacje na temat używania interfejsów API PKCS#11 do zarządzania certyfikatami, zobacz PKCS#11 API for certificate storage (Interfejs API PKCS#11 dla magazynu certyfikatów).
Prerequisites
Do obsługi magazynu certyfikatów przy użyciu modułu HSM w chmurze Azure wymagane są następujące wymagania wstępne. Zobacz przewodnik dołączania modułu HSM Azure w chmurze, aby uzyskać informacje na temat instalacji i konfiguracji zestawu SDK, jeśli wdrożenie modułu HSM nie zostało ukończone.
Wymagania systemowe
- Zasób Azure Cloud HSM jest wdrażany, inicjowany i konfigurowany.
- zestaw SDK klienta modułu HSM w chmurze Azure
- Kopia certyfikatu właściciela partycji "PO.crt" na serwerze aplikacji.
- Znany adres twojego modułu HSM
hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net. - Znajomość poświadczeń użytkownika kryptograficznego
Wymagania wstępne dotyczące magazynu certyfikatów
- konto usługi Azure Blob Storage
- Tożsamość zarządzana w celu uzyskania dostępu do magazynu
Ważne
Klienci korzystający z dowolnej wersji Windows Server powinni zainstalować najnowszą wersję pakietu redystrybucyjnego Visual C++.
Konfigurowanie konta Azure Blob Storage
Aby można było użyć interfejsu API PKCS#11 dla magazynu certyfikatów, należy utworzyć konto Azure Blob Storage. To konto magazynowe zawiera obiekty certyfikatów standardu PKCS#11, które są zapisywane i pobierane w formacie JWS.
Aby skonfigurować konto Azure Blob Storage dla magazynu certyfikatów PKCS#11, przejdź do portalu Azure i utwórz nowe konto magazynu.
Po utworzeniu konta magazynu danych przejdź do tego konta w portalu Azure i wybierz pozycję Kontenery w sekcji Magazyn danych. Utwórz nowy kontener do przechowywania obiektów blob.
Po utworzeniu kontenera znajdź adres URL punktu końcowego kontenera, przechodząc do właściwości kontenera. Ten adres URL jest potrzebny później.
W obszarze Właściwości kontenera znajduje się wyświetlony adres URL kontenera. Ten adres URL jest wymagany w dalszej części pliku azcloudhsm_application.cfg, aby umożliwić aplikacjom PKCS#11 zlokalizowanie lokalizacji przechowywania obiektów certyfikatów.
Skonfiguruj tożsamość zarządzaną przypisaną przez użytkownika, aby uzyskać dostęp do magazynu
Następnym wymaganiem wstępnym dla magazynu certyfikatów jest utworzenie tożsamości zarządzanej przypisanej przez użytkownika. Ta tożsamość ma przypisaną rolę niezbędną do uzyskania dostępu do konta Azure Blob Storage i jest używana do uwierzytelniania z wyznaczonej maszyny wirtualnej administratora.
Uwaga / Notatka
Poniższy przykład tworzy tożsamość zarządzaną przypisaną przez użytkownika i używa jej. Tożsamość zarządzana przypisana przez system można również utworzyć i użyć na maszynie wirtualnej.
Aby utworzyć przypisaną tożsamość zarządzaną User Assigned Managed Identity dla magazynowania certyfikatów PKCS#11, przejdź do portalu Azure i utwórz nową tożsamość.
Po pomyślnym utworzeniu tożsamości zarządzanej zanotuj identyfikator klienta, który będzie wymagany później w pliku azcloudhsm_application.cfg, aby umożliwić uwierzytelnienie do konta magazynu z maszyny wirtualnej.
Przypisz odpowiednią rolę platformy Azure, aby nadać tożsamości zarządzanej uprawnienia do odczytu i zapisu w wcześniej utworzonym koncie usługi Blob Storage. Przypisz rolę Współautor danych obiektu blob usługi Storage do tożsamości zarządzanej, ustawiając opcję Scope na Storage i wybierając zasób konkretnego konta magazynu.
Przypisz tożsamość zarządzaną przypisaną przez użytkownika do maszyny wirtualnej, na której działa aplikacja do przechowywania certyfikatów PKCS#11. Przejdź do zasobu maszyny wirtualnej w portalu Azure, wybierz sekcję Zabezpieczenia, wybierz pozycję Tożsamość i dodaj tożsamość przypisaną przez użytkownika.
Konfigurowanie narzędzi klienckich modułu HSM w chmurze Azure
Utwórz klucz podpisywania magazynu
Użyj następującego azcloudhsm_util polecenia, aby utworzyć parę kluczy podpisywania RSA dla magazynu certyfikatów PKCS#11 w jednym kroku. Domyślnie generuje 2048-bitowy klucz RSA z publicznym wykładnikiem 65537. Rozmiar klucza można zmodyfikować zgodnie z potrzebami. Przed uruchomieniem polecenia upewnij się, że azcloudhsm_client działa jako usługa w tle.
Zastąp symbole zastępcze w następujący sposób:
-
PKCS11_Sprzy użyciu nazwy użytkownika kryptografii (na przykładcu1) -
PKCS11_Pprzy użyciu hasła użytkownika funkcji szyfrowania (na przykładuser1234) -
SIGNING_KEY_IDz żądanym identyfikatorem pary kluczy (ten identyfikator jest również używany później w plikuazcloudhsm_application.cfg)
Dla tego przykładu ustaw SIGNING_KEY_ID wartość losową:
SIGNING_KEY_ID=$(tr -dc 'a-z' </dev/urandom | head -c 10)
Linux:
sudo ./azcloudhsm_util singlecmd loginHSM -u CU -s $PKCS11_S -p $PKCS11_P genRSAKeyPair -m 2048 -e 65537 -l $SIGNING_KEY_ID -id $SIGNING_KEY_ID
Windows:
.\azcloudhsm_util.exe singlecmd loginHSM -u CU -s %PKCS11_S% -p %PKCS11_P% genRSAKeyPair -m 2048 -e 65537 -l %SIGNING_KEY_ID% -id %SIGNING_KEY_ID%
Ważne
Upewnij się, że każdy z węzłów HSM zwraca komunikat o powodzeniu.
chsmVMAdmin@AdminVM:/opt/azurecloudhsm/bin$ sudo ./azcloudhsm_util singlecmd loginHSM -u CU -s cu1 -p user1234 genRSAKeyPair -m 2048 -e 65537 -l signkeyid -id signkeyid
Version info, Client Version: <version>, SDK API Version: <version>, SDK Package Version: <version>
Cfm3Initialize() returned app id : 01000000
session_handle 1000000
Current FIPS mode is: 00000000
Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS
Cluster Status:
Node id 1 status: 0x00000000 : HSM Return: SUCCESS
Node id 2 status: 0x00000000 : HSM Return: SUCCESS
Node id 3 status: 0x00000000 : HSM Return: SUCCESS
Command: genRSAKeyPair -m 2048 -e 65537 -L signkeyid -id signkeyid
Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS
Cfm3GenerateKeyPair: public key handle: 262151 private key handle: 262152
Cluster Status:
Node id 1 status: 0x00000000 : HSM Return: SUCCESS
Node id 2 status: 0x00000000 : HSM Return: SUCCESS
Node id 3 status: 0x00000000 : HSM Return: SUCCESS
Aktualizowanie plików konfiguracji
Aktualizowanie konfiguracji aplikacji
Należy zaktualizować następujące parametry w pliku azcloudhsm_application.cfg.
CERTSTORAGE_URL: to pole odwołuje się do adresu URL kontenera w ramach konta Blob Storage klienta i służy do przechowywania informacji o certyfikacie. (np. https://chsmstorage.blob.core.windows.net/certificates)
CERTSTORAGE_SIGNING_KEYID: to pole odwołuje się do identyfikatora przypisanego do pary kluczy, która służy do przeprowadzania kontroli integralności podczas operacji odczytu i zapisu w magazynie (podpisywanie i weryfikacja).
UAMI_CLIENT_ID: to pole odnosi się do identyfikatora klienta przypisanej tożsamości zarządzanej przez użytkownika, używanego do uwierzytelniania się w koncie Blob Storage klienta. W przypadku pozostawienia pustego uwierzytelnianie będzie domyślnie używane przy użyciu tożsamości zarządzanej przypisanej przez system.
Uwaga / Notatka
Te parametry mają zastosowanie tylko w przypadku uruchamiania operacji certyfikatów w PKCS#11. Nie jest to wymagane w przypadku operacji kluczowych.
DAEMON_ID=1
SOCKET_TYPE=UNIXSOCKET
PORT=1111
USER_KEK_HANDLE=262150
DEFAULT_WRAP_WITH_TRUSTED=1
CERTSTORAGE_URL=https://chsmstorage.blob.core.windows.net/certificates
CERTSTORAGE_SIGNING_KEYID=hjgrwvvofe
UAMI_CLIENT_ID=25e659cc-6570-4f3b-9617-adfbc84b2565
Weryfikowanie konfiguracji PKCS#11
Aby zapoznać się z przykładową weryfikacją konfiguracji PKCS#11, zobacz przewodnik integracji PKCS#11.
chsmVMAdmin@AdminVM:/opt/azurecloudhsm$ sudo ./cust_p11_app -s cu1 -p user1234 -l /opt/azurecloudhsm/lib64/libazcloudhsm_pkcs11.so
[INFO] Azure Cloud HSM – Loading PKCS#11 library.
[INFO] Azure Cloud HSM – C_GetFunctionList
[INFO] Azure Cloud HSM – Preparing PIN with given username and password.
[INFO] Azure Cloud HSM – C_Initialize
[INFO] Azure Cloud HSM – C_GetInfo
[INFO] Azure Cloud HSM – Retrieve access token, C_GetTokenInfo
[INFO] Azure Cloud HSM – Start session with specified token, C_OpenSession
[INFO] Azure Cloud HSM – Login with PIN, C_Login
Add Your PKCS#11 Code Here
Dalsze kroki
- PKCS#11 API for Certificate Storage: Dowiedz się, jak zarządzać certyfikatami X.509 za pomocą interfejsów API PKCS#11 w Azure module HSM w chmurze.
- Przegląd modułu HSM chmury Azure
- Zabezpieczanie modułu HSM w chmurze platformy Azure