Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Cloud HSM unterstützt den Zertifikatspeicher über PKCS#11, sodass Anwendungen X.509-Zertifikate zusammen mit Schlüsseln verwalten können. Dieses Lernprogramm enthält schrittweise Anleitungen zum Einrichten von Zertifikatspeichervoraussetzungen, einschließlich Azure Blob Storage und verwalteter Identitätskonfiguration. Ausführliche Informationen zur Verwendung von PKCS#11-APIs zum Verwalten von Zertifikaten finden Sie unter PKCS#11-API für den Zertifikatspeicher.
Voraussetzungen
Die folgenden Voraussetzungen sind erforderlich, um den Zertifikatspeicher mit Azure Cloud HSM zu unterstützen. Lesen Sie den Azure Cloud HSM-Onboardinghandbuch für die SDK-Installation und -Konfiguration, wenn die HSM-Bereitstellung nicht abgeschlossen ist.
Systemanforderungen
- Azure Cloud HSM-Ressource wird bereitgestellt, initialisiert und konfiguriert.
- Azure Cloud HSM Client SDK
- Kopie des Partitionsbesitzerzertifikats "PO.crt" auf dem Anwendungsserver.
- Bekannte Adresse Ihres HSM
hsm1.chsm-<resource-name>-<unique-string>.privatelink.cloudhsm.azure.net. - Wissen über Krypto-Benutzeranmeldeinformationen
Voraussetzungen für die Zertifikatspeicherung
- Azure Blob Storage Konto
- Verwaltete Identität für den Zugriff auf Speicher
Von Bedeutung
Kunden, die eine beliebige Version von Windows Server verwenden, sollten die neueste Version von Visual C++ Redistributable installieren.
Einrichten eines Azure Blob Storage Kontos
Bevor Sie die PKCS#11-API für die Zertifikatspeicherung verwenden können, müssen Sie ein Azure Blob Storage Konto erstellen. Dieses Speicherkonto enthält die PKCS#11-Zertifikatobjekte, die im JWS-Format gespeichert und abgerufen werden.
Um ein Azure Blob Storage Konto für PKCS#11-Zertifikatspeicher einzurichten, wechseln Sie zum Azure Portal, und erstellen Sie ein neues Speicherkonto.
Nachdem das Speicherkonto erstellt wurde, wechseln Sie im Azure-Portal zu ihr, und wählen Sie "Container" unter "Datenspeicher" aus. Erstellen Sie einen neuen Container zum Speichern der Blobs.
Suchen Sie nach dem Erstellen des Containers die Containerendpunkt-URL, indem Sie zu Containereigenschaften navigieren. Diese URL wird später benötigt.
In containereigenschaften finden Sie die container-URL aufgelistet. Diese URL ist später in der Datei azcloudhsm_application.cfg erforderlich, damit PKCS#11-Anwendungen den Speicherort für Zertifikatobjekte suchen können.
Einrichten einer vom Benutzer zugewiesenen verwalteten Identität für den Zugriff auf den Speicher
Die nächste Voraussetzung für den Zertifikatspeicher besteht darin, eine vom Benutzer zugewiesene verwaltete Identität zu erstellen. Dieser Identität wird die benötigte Rolle für den Zugriff auf das Azure Blob Storage-Konto gewährt und sie wird verwendet, um von Ihrer angegebenen Administrator-VM authentifiziert zu werden.
Hinweis
Im folgenden Beispiel wird eine vom Benutzer zugewiesene verwaltete Identität erstellt und verwendet. Eine vom System zugewiesene verwaltete Identität kann auch auf dem virtuellen Computer erstellt und verwendet werden.
Um eine User Assigned Managed Identity für PKCS#11-Zertifikatspeicher zu erstellen, navigieren Sie zum Azure Portal, und erstellen Sie eine neue Identität.
Notieren Sie sich nach dem erfolgreichen Erstellen der verwalteten Identität die Client-ID, die später in der Datei azcloudhsm_application.cfg erforderlich ist, um die Authentifizierung für das Speicherkonto von Ihrer VM zu aktivieren.
Weisen Sie die entsprechende Azure-Rolle zu, um der verwalteten Identität die Berechtigung zum Lesen und Schreiben auf das zuvor erstellte Blob Storage-Konto zu erteilen. Weisen Sie der verwalteten Identität die Rolle Storage Blob Data Contributor zu, legen Sie den Bereich auf Speicher fest, und wählen Sie die spezifische Ressource des Speicherkontos aus.
Weisen Sie die vom Benutzer zugewiesene verwaltete Identität dem virtuellen Computer zu, auf dem Ihre PKCS#11-Zertifikatspeicheranwendung ausgeführt wird. Wechseln Sie im Azure Portal zu Ihrer VM-Ressource, wählen Sie den Abschnitt "Sicherheit" aus, wählen Sie "Identität" aus, und fügen Sie die vom Benutzer zugewiesene Identität hinzu.
Konfigurieren der Azure Cloud HSM-Clienttools
Erstellen eines Speichersignaturschlüssels
Verwenden Sie den folgenden azcloudhsm_util Befehl, um in einem einzigen Schritt ein RSA-Signaturschlüsselpaar für PKCS#11-Zertifikatspeicher zu erstellen. Standardmäßig wird ein 2048-Bit-RSA-Schlüssel mit einem öffentlichen Exponenten von 65537 generiert. Sie können die Schlüsselgröße nach Bedarf ändern. Stellen Sie vor dem Ausführen des Befehls sicher, dass azcloudhsm_client im Hintergrund als Dienst ausgeführt wird.
Ersetzen Sie die Platzhalter wie folgt:
-
PKCS11_Smit Ihrem Benutzernamen für die Kryptografie (z. B.cu1) -
PKCS11_Pmit Ihrem Kryptografiebenutzerkennwort (z. Buser1234. ) -
SIGNING_KEY_IDmit der gewünschten Schlüsselpaar-ID (diese ID wird auch später in Ihrerazcloudhsm_application.cfgDatei verwendet)
Festlegen SIGNING_KEY_ID auf einen Zufallswert für dieses Beispiel:
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%
Von Bedeutung
Stellen Sie sicher, dass jeder HSM-Knoten Erfolg zurückgibt.
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
Aktualisieren von Konfigurationsdateien
Aktualisieren der Anwendungskonfiguration
Sie müssen die folgenden Parameter in der Datei azcloudhsm_application.cfg aktualisieren.
CERTSTORAGE_URL: Dieses Feld bezieht sich auf die URL des Containers im Blob Storage-Konto des Kunden und wird zum Speichern von Zertifikatinformationen verwendet. (z.B. https://chsmstorage.blob.core.windows.net/certificates)
CERTSTORAGE_SIGNING_KEYID: Dieses Feld bezieht sich auf die ID, die dem Schlüsselpaar zugewiesen ist, das verwendet wird, um Integritätsprüfungen während lese- und schreibvorgängen in den Speicher durchzuführen (Signieren und Überprüfung).
UAMI_CLIENT_ID: Dieses Feld bezieht sich auf die Client-ID der vom Benutzer zugewiesenen verwalteten Identität, die zum Authentifizieren des Blob Storage Kontos des Kunden verwendet wird. Wenn sie leer gelassen wird, verwendet die Authentifizierung standardmäßig eine vom System zugewiesene verwaltete Identität.
Hinweis
Diese Parameter gelten nur, wenn Zertifikatvorgänge in PKCS#11 ausgeführt werden. Es ist für Schlüsselvorgänge nicht erforderlich.
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
Überprüfen der PKCS#11-Konfiguration
Eine beispielbasierte Überprüfung Ihrer PKCS#11-Konfiguration finden Sie im PKCS#11-Integrationshandbuch.
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ächste Schritte
- PKCS#11-API für die Zertifikatspeicherung: Erfahren Sie, wie Sie PKCS#11-APIs zum Verwalten von X.509-Zertifikaten in Azure Cloud HSM verwenden.
- Übersicht über Azure Cloud HSM
- Sichern Sie Ihre Azure Cloud HSM