Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Cloud HSM ondersteunt certificaatopslag via PKCS#11, waardoor toepassingen X.509-certificaten naast sleutels kunnen beheren. Deze zelfstudie bevat stapsgewijze instructies voor het instellen van vereisten voor certificaatopslag, waaronder Azure Blob Storage en configuratie van beheerde identiteiten. Zie DE PKCS#11 API voor certificaatopslag voor meer informatie over het gebruik van PKCS#11 API's voor het beheren van certificaten.
Prerequisites
De volgende vereisten zijn vereist voor het ondersteunen van certificaatopslag met Azure Cloud HSM. Zie de Azure handleiding voor onboarding van cloud-HSM voor SDK-installatie en -configuratie als de HSM-implementatie niet is voltooid.
Systeemvereisten
- Azure Cloud HSM-resource wordt geïmplementeerd, geïnitialiseerd en geconfigureerd.
- Azure Cloud HSM Client SDK
- Kopie van partitie-eigenaarcertificaat 'PO.crt' op de toepassingsserver.
- Bekend adres van uw HSM
hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net. - Kennis van cryptogebruikersreferenties
Vereisten voor certificaatopslag
- Azure Blob Storage-account
- Beheerde identiteit voor toegang tot opslag
Belangrijk
Klanten die een versie van Windows Server gebruiken, moeten de meest recente versie van Visual C++ Redistributable installeren.
Een Azure Blob Storage-account instellen
Voordat u de PKCS#11-API voor certificaatopslag kunt gebruiken, moet u een Azure Blob Storage-account maken. Dit opslagaccount bevat de PKCS#11-certificaatobjecten, die worden opgeslagen en opgehaald in JWS-indeling.
Als u een Azure Blob Storage-account voor PKCS#11-certificaatopslag wilt instellen, gaat u naar de Azure-portal en maakt u een nieuw opslagaccount.
Nadat het opslagaccount is gemaakt, gaat u naar het account in de Azure-portal en selecteert u Containers onder Gegevensopslag. Maak een nieuwe container om de blobs op te slaan.
Nadat u de container hebt gemaakt, zoekt u de URL van het containereindpunt door naar containereigenschappen te navigeren. Deze URL is later nodig.
In containereigenschappen vindt u de container-URL die wordt vermeld. Deze URL is later in het bestand azcloudhsm_application.cfg vereist om PKCS#11-toepassingen in staat te stellen de opslaglocatie voor certificaatobjecten te vinden.
Een door de gebruiker toegewezen beheerde identiteit instellen voor toegang tot opslag
De volgende vereiste voor certificaatopslag is het maken van een door de gebruiker toegewezen beheerde identiteit. Deze identiteit krijgt de benodigde rol om toegang te krijgen tot het Azure Blob Storage-account en wordt gebruikt voor verificatie vanaf uw aangewezen beheer-VM.
Opmerking
In het volgende voorbeeld wordt een door de gebruiker toegewezen beheerde identiteit gemaakt en gebruikt. Een door het systeem toegewezen beheerde identiteit kan ook worden gemaakt en gebruikt op de virtuele machine.
Als u een Gebruiker toegewezen beheerde identiteit voor PKCS#11-certificaatopslag wilt maken, gaat u naar de Azure-portal en maakt u een nieuwe identiteit.
Nadat u de beheerde identiteit hebt gemaakt, noteert u de client-id. Dit is later in het bestand azcloudhsm_application.cfg vereist om verificatie in te schakelen voor het opslagaccount van uw VIRTUELE machine.
Wijs de juiste Azure-rol toe om de beheerde identiteit machtigingen te geven om het eerder gemaakte Blob Storage-account te lezen en ernaar te schrijven. Wijs de rol Inzender voor opslagblobgegevens toe aan de beheerde identiteit, stel het bereik in op Opslag en selecteer de specifieke opslagaccountresource.
Wijs de door de gebruiker toegewezen beheerde identiteit toe aan de VM waarop uw PKCS#11-certificaatopslagtoepassing wordt uitgevoerd. Ga naar uw VM-resource in de Azure-portal, selecteer de sectie Beveiliging, selecteer Identiteit en voeg de door de gebruiker toegewezen identiteit toe.
De Azure Cloud HSM-clienthulpprogramma's configureren
Een handtekeningsleutel voor opslag maken
Gebruik de volgende azcloudhsm_util opdracht om in één stap een RSA-handtekeningsleutelpaar te maken voor PKCS#11-certificaatopslag. Standaard wordt een 2048-bits RSA-sleutel gegenereerd met een openbare exponent van 65537. U kunt de sleutelgrootte indien nodig wijzigen. Voordat u de opdracht uitvoert, moet u ervoor zorgen dat azcloudhsm_client deze op de achtergrond als een service wordt uitgevoerd.
Vervang de tijdelijke aanduidingen als volgt:
-
PKCS11_Smet de gebruikersnaam van uw cryptografiegebruiker (bijvoorbeeldcu1) -
PKCS11_Pmet uw wachtwoord voor cryptografiegebruikers (bijvoorbeelduser1234) -
SIGNING_KEY_IDmet de gewenste sleutelpaar-id (deze id wordt ook later in uwazcloudhsm_application.cfgbestand gebruikt)
Instellen SIGNING_KEY_ID op een willekeurige waarde voor dit voorbeeld:
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%
Belangrijk
Zorg ervoor dat elk van de HSM-knooppunten succes retourneert.
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
Configuratiebestanden bijwerken
Toepassingsconfiguratie bijwerken
U moet de volgende parameters bijwerken in het bestand azcloudhsm_application.cfg.
CERTSTORAGE_URL: Dit veld verwijst naar de URL van de container binnen het Blob Storage-account van de klant en wordt gebruikt om certificaatgegevens op te slaan. (bijvoorbeeld https://chsmstorage.blob.core.windows.net/certificates)
CERTSTORAGE_SIGNING_KEYID: Dit veld verwijst naar de id die is toegewezen aan het sleutelpaar, dat wordt gebruikt om integriteitscontroles uit te voeren tijdens lees- en schrijfbewerkingen naar opslag (ondertekening en verificatie).
UAMI_CLIENT_ID: Dit veld verwijst naar de client-id van de door de gebruiker toegewezen beheerde identiteit, die wordt gebruikt om te verifiëren bij het Blob Storage-account van de klant. Als dit veld leeg blijft, wordt standaard een door het systeem toegewezen beheerde identiteit gebruikt.
Opmerking
Deze parameters zijn alleen van toepassing bij het uitvoeren van certificaatbewerkingen in PKCS#11. Dit is niet vereist voor sleutelbewerkingen.
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
PKCS#11-configuratie valideren
Zie de integratiehandleiding voor PKCS#11 voor voorbeeldvalidatie van uw PKCS#11-configuratie.
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
Volgende stappen
- PKCS#11 API voor Certificate Storage: informatie over het gebruik van PKCS#11 API's voor het beheren van X.509-certificaten in Azure Cloud HSM.
- Overview van Azure Cloud HSM
- Uw Azure Cloud HSM beveiligen