Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Cloud HSM stöder certifikatlagring via PKCS#11, vilket gör det möjligt för program att hantera X.509-certifikat tillsammans med nycklar. Den här självstudien innehåller stegvisa instruktioner för hur du konfigurerar krav för certifikatlagring, inklusive Azure Blob Storage och konfiguration av hanterade identiteter. Mer information om hur du använder PKCS#11 API:er för att hantera certifikat finns i PKCS#11 API för certifikatlagring.
Prerequisites
Följande krav krävs för att stödja certifikatlagring med Azure Cloud HSM. Se registreringsguiden för Azure Cloud HSM för SDK-installation och konfiguration om HSM-distributionen inte är klar.
Systemkrav
- Azure Cloud HSM-resurs distribueras, initieras och konfigureras.
- Azure Cloud HSM-klient-SDK
- Kopia av partitionsägarcertifikatet "PO.crt" på programservern.
- Känd adress för din HSM
hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net. - Kunskap om autentiseringsuppgifter för kryptoanvändare
Krav för certifikatlagring
- Azure Blob Storage konto
- Hanterad identitet för åtkomst till lagring
Viktigt!
Kunder som använder valfri version av Windows Server bör installera den senaste versionen av Visual C++ Redistributable.
Konfigurera ett Azure Blob Storage konto
Innan du kan använda PKCS#11 API för certifikatlagring måste du skapa ett Azure Blob Storage konto. Det här lagringskontot innehåller PKCS#11-certifikatobjekten, som sparas och hämtas i JWS-format.
Om du vill konfigurera ett Azure Blob Storage konto för PKCS#11-certifikatlagring går du till Azure-portalen och skapar ett nytt lagringskonto.
När lagringskontot har skapats går du till det i Azure-portalen och väljer Containrar under Datalagring. Skapa en ny container för att lagra blobarna.
När du har skapat containern letar du reda på url:en för containerslutpunkten genom att gå till Containeregenskaper. Den här URL:en behövs senare.
I Containeregenskaper hittar du container-URL:en i listan. Den här URL:en krävs senare i filen azcloudhsm_application.cfg för att aktivera PKCS#11-program för att hitta lagringsplatsen för certifikatobjekt.
Konfigurera en användartilldelad hanterad identitet för åtkomst till lagring
Nästa förutsättning för certifikatlagring är att skapa en användartilldelad hanterad identitet. Den här identiteten beviljas den roll som krävs för att få åtkomst till Azure Blob Storage-kontot och används för att autentisera från den avsedda virtuella administratörsdatorn.
Anmärkning
I följande exempel skapas och används en användartilldelad hanterad identitet. En systemtilldelad hanterad identitet kan också skapas och användas på den virtuella datorn.
Om du vill skapa en Användartilldelad hanterad identitet för PKCS#11-certifikatlagring går du till Azure-portalen och skapar en ny identitet.
När du har skapat den hanterade identiteten bör du anteckna klient-ID:t, som krävs senare i filen azcloudhsm_application.cfg för att aktivera autentisering till lagringskontot från den virtuella datorn.
Tilldela lämplig Azure roll för att ge den hanterade identiteten behörighet att läsa och skriva till det tidigare skapade Blob Storage kontot. Tilldela rollen Storage Blob Data Contributor till den hanterade identiteten, ange omfånget till Lagring och välj den specifika lagringskontoresursen.
Tilldela den användartilldelade hanterade identiteten till den virtuella dator som kör ditt PKCS#11-certifikatlagringsprogram. Gå till den virtuella datorresursen i Azure-portalen, välj avsnittet Säkerhet, välj Identitet och lägg till den användartilldelade identiteten.
Konfigurera Azure Cloud HSM-klientverktyg
Skapa en lagringssigneringsnyckel
Använd följande azcloudhsm_util kommando för att skapa ett RSA-signeringsnyckelpar för PKCS#11-certifikatlagring i ett enda steg. Som standard genererar den en 2048-bitars RSA-nyckel med en offentlig exponent på 65537. Du kan ändra nyckelstorleken efter behov. Innan du kör kommandot kontrollerar du att azcloudhsm_client det körs som en tjänst i bakgrunden.
Ersätt platshållarna på följande sätt:
-
PKCS11_Smed ditt användarnamn för kryptografianvändare (till exempelcu1) -
PKCS11_Pmed lösenordet för kryptografianvändaren (till exempeluser1234) -
SIGNING_KEY_IDmed önskat nyckelpar-ID (detta ID används också senare iazcloudhsm_application.cfgfilen)
Ange SIGNING_KEY_ID ett slumpmässigt värde för det här exemplet:
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%
Viktigt!
Se till att var och en av HSM-noderna returnerar lyckade resultat.
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
Uppdatera konfigurationsfiler
Uppdatera programkonfiguration
Du måste uppdatera följande parametrar i filen azcloudhsm_application.cfg.
CERTSTORAGE_URL: Det här fältet refererar till URL:en för containern i kundens Blob Storage-konto och används för att lagra certifikatinformation. (t.ex. https://chsmstorage.blob.core.windows.net/certificates)
CERTSTORAGE_SIGNING_KEYID: Det här fältet refererar till det ID som tilldelats nyckelparet, som används för att utföra integritetskontroller under läs- och skrivåtgärder till lagring (signering och verifiering).
UAMI_CLIENT_ID: Det här fältet refererar till klient-ID:t för den användartilldelade hanterade identiteten, som används för att autentisera mot kundens Blob Storage konto. Om det lämnas tomt används en systemtilldelad hanterad identitet som standard för autentisering.
Anmärkning
Dessa parametrar gäller endast när du kör certifikatåtgärder i PKCS#11. Det krävs inte för nyckelåtgärder.
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
Verifiera PKCS#11-konfiguration
Exempelbaserad validering av PKCS#11-konfigurationen finns i integrationsguiden för 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
Nästa steg
- PKCS#11 API för certifikatlagring: Lär dig hur du använder PKCS#11 API:er för att hantera X.509-certifikat i Azure Cloud HSM.
- Översikt över Azure Cloud HSM
- Skydda din Azure Cloud HSM