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.
Dieser Artikel hilft Ihnen bei der Problembehandlung häufiger Probleme und Fehler, die beim Verwenden des Azure Cloud HSM-Diensts auftreten können.
Häufige Fehlermeldungen
In den folgenden Abschnitten werden Fragen zu häufigen Fehlern beantwortet, einschließlich Fehlern im Zusammenhang mit virtuellen Computern (VMs) und Hardwaresicherheitsmodulen (Hardware Security Modules, HSMs).
Warum erhalte ich die Fehlermeldung "ZertifikatFEHLER: [Zertifikatsignaturfehler]", wenn azcloudhsm_mgmt_util ausgeführt wird?
Dieser Fehler kann auftreten, wenn Sie die folgenden Schritte ausführen:
- Erstellen und initialisieren Sie Ihre Azure Cloud HSM-Bereitstellung von einer anderen VM.
- Versuchen Sie, das Cloud HSM Client SDK zu installieren und von einem anderen virtuellen Computer aus auszuführen, der fehlt oder nicht über die richtige
PO.crtDatei der Administrator-VM verfügt, von der Sie initialisiert haben.
Wenn Sie die PO.crt Datei von Ihrer Administrator-VM auf Ihren neuen virtuellen Computer kopieren und erneut ausführen azcloudhsm_mgmt_util, sollte eine erfolgreiche Verbindung mit Ihrem HSM angezeigt werden.
Warum erhalte ich die Fehlermeldung "INF: shutdown_ssl_socket: SSL_shutdown hat eine Close_Notify-Benachrichtigung gesendet", wenn azcloudhsm_client ausgeführt wird?
Dieser Fehler kann auftreten, wenn Sie die folgenden Schritte ausführen:
- Erstellen und initialisieren Sie Ihre Azure Cloud HSM-Bereitstellung von einer anderen VM.
- Versuchen Sie, das Cloud HSM Client SDK zu installieren und von einem anderen virtuellen Computer aus auszuführen, der fehlt oder nicht über die richtige
PO.crtDatei der Administrator-VM verfügt, von der Sie initialisiert haben.
Wenn Sie die PO.crt Datei von Ihrer Administrator-VM auf Ihren neuen virtuellen Computer kopieren und erneut ausführen azcloudhsm_client, sollte eine erfolgreiche Verbindung mit Ihrem HSM angezeigt werden.
Warum erhalte ich die Fehlermeldung "azcloudhsm_application.cfg ist nicht vorhanden"?
Um die erfolgreiche Ausführung Ihrer Anwendung sicherzustellen, müssen Sie diese beiden Bedingungen erfüllen:
Die
azcloudhsm_application.cfgDatei ist im selben Verzeichnis wie Ihre Anwendung vorhanden.Das
azcloudhsm_client-Tool wird ausgeführt. Wennazcloudhsm_clientnicht aktiv ist, tritt eine fehlgeschlagene Socketverbindung auf.Ebenso führt das Fehlen der
azcloudhsm_application.cfgDatei zu einer Fehlermeldung. Je nach Ausführungsort Ihrer Anwendung müssen Sie dieazcloudhsm_application.cfgDatei möglicherweise aus dem Azure Cloud HSM SDK-Verzeichnis in das Verzeichnis kopieren, in dem Sie Ihre Anwendung ausführen.
OpenSSL-Modul für Azure Cloud HSM
Unterstützt das OpenSSL-Modul für Azure Cloud HSM Windows?
Nein. Das OpenSSL-Modul für Azure Cloud HSM unterstützt nur Linux (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8 und CBL Mariner 2).
Warum erhalte ich die Fehlermeldung "Ungültiges Modul 'azcloudhsm_openssl' konnte die freigegebene Bibliothek nicht laden"?
Die Fehlermeldung schlägt vor, dass die erforderliche Umgebungsvariable LD_LIBRARY_PATH nicht konfiguriert ist. Diese Konfiguration ist erforderlich. Legen Sie die LD_LIBRARY_PATH Umgebungsvariable auf das Verzeichnis fest, in dem sich das Azure Cloud HSM SDK befindet.
Sie müssen Ihre Umgebungsvariablen aktualisieren, um die richtige SDK-Version widerzuspiegeln, indem Sie diesen Befehl ausführen:
export LD_LIBRARY_PATH=/opt/azurecloudhsm/lib64/:$LD_LIBRARY_PATH
Warum erhalte ich die Fehlermeldung "Umgebungsvariable azcloudhsm_openssl_conf ist nicht festgelegt"?
Die Fehlermeldung signalisiert, dass die erforderliche Umgebungsvariable azcloudhsm_openssl_conf nicht konfiguriert ist. Legen Sie die azcloudhsm_openssl_conf Umgebungsvariable auf den Dateipfad Ihrer azcloudhsm_openssl_dynamic.conf Datei im Azure Cloud HSM SDK-Verzeichnis fest.
Sie müssen Ihre Umgebungsvariablen aktualisieren, um die richtige SDK-Version widerzuspiegeln, indem Sie diesen Befehl ausführen:
export azcloudhsm_openssl_conf=/opt/azurecloudhsm/bin/azcloudhsm_openssl_dynamic.conf
Warum erhalte ich die Fehlermeldung "Umgebungsvariable azcloudhsm_password ist nicht festgelegt"?
Die Fehlermeldung schlägt vor, dass die erforderliche Umgebungsvariable azcloudhsm_password nicht konfiguriert ist. Legen Sie die Umgebungsvariable azcloudhsm_password auf den Wert von cryptouser:password.
Sie müssen Ihre Umgebungsvariablen aktualisieren, um den richtigen Kryptografiebenutzer und das richtige Kennwort widerzuspiegeln:
export azcloudhsm_password="cu1:user1234"
JCE-Anbieter für Azure Cloud HSM
In den folgenden Abschnitten werden Fragen zu Java Cryptography Extension (JCE) beantwortet.
Unterstützt JCE-Integration in Azure Cloud HSM Windows?
Nein. Die JCE-Integration in Azure Cloud HSM unterstützt nur Linux (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8, CBL Mariner 2).
Warum erhalte ich die Fehlermeldung "Anmeldeinformationen zum Anmelden beim HSM konnten nicht gefunden werden"?
Der Fehler gibt eine Herausforderung beim Auffinden oder Authentifizieren der Anmeldeinformationen an, die für die Anmeldung bei Cloud HSM erforderlich sind. Wenn Sie die Beispiele in dieser Dokumentation verwenden oder den JCE-Anbieter für Azure Cloud HSM in Ihre Anwendungen integrieren, ist es wichtig, sich explizit mit Anmeldeinformationen anzumelden:
// Explicit Login with Credentials
LoginManager lm=LoginManager.getInstance();
lm.login("PARTITION_1","cu1","user1234");
// Logout of the HSM
lm.logout();
Warum erhalte ich die Fehlermeldung "Attribut mit Wert 0 für diesen Vorgang? Attribut sollte als Benutzer-KEK festgelegt werden?
Der Fehler gibt an, dass ein vom Benutzer generierter Schlüsselverschlüsselungsschlüssel (KEK) nicht erstellt und als extrahierend festgelegt wurde und wrap_with_trusted auf 1 festgelegt ist. Geeignete Einstellungen, die beim Ausführen von Schlüsselimport-, Schlüsselumbruch- und Entschlüsselungsvorgängen verwendet werden sollen, finden Sie im Abschnitt zum Erstellen eines vom Benutzer generierten KEK im JCE-Integrationshandbuch.
Warum erhalte ich die Fehlermeldung "Daemon socket connection error, API login failed"?
Der Fehler gibt eine Herausforderung beim Auffinden oder Authentifizieren der Anmeldeinformationen an, die für die Anmeldung bei Cloud HSM erforderlich sind. Wenn Sie die Beispiele im JCE-Integrationshandbuch verwenden oder den Azure Cloud HSM JCE-Anbieter in Ihre Anwendungen integrieren, müssen Sie sich explizit mit Anmeldeinformationen anmelden, um die Verbindung sicherzustellen.
PKCS#11-Bibliothek für Azure Cloud HSM
Warum erhalte ich die Fehlermeldung "C_Login fehlgeschlagen mit Fehlercode: 0xa3"?
Der 0xa3 Fehler weist auf einen Anmeldefehler hin. Möglicherweise bezieht sich der Fehler auf das Format des PIN-Parameters, den Sie übergeben, oder die PIN (Kennwort) ist falsch.
Die PIN sollte im folgenden Format bereitgestellt werden: char pPin[256] = "crypto_user:user123"; Der pPin Wert sollte der Struktur von :<username><password>folgen. Stellen Sie sicher, dass Sie den pPin Wert in diesem Format angeben, da eine Abweichung zu einem Anmeldefehler führen kann.
Warum erhalte ich die Fehlermeldung "C_Initialize() fehlgeschlagen mit 00000005 (Socket konnte nicht verbunden werden)"?
Fehler bei der Socketverbindung während C_Initialize könnte darauf hindeuten, dass das azcloudhsm_client-Tool nicht auf Ihrem System läuft. Damit Ihre PKCS#11-Anwendungen erfolgreich ausgeführt werden können, muss azcloudhsm_client ausgeführt werden. Sie können azcloudhsm_client beginnen, indem Sie einen der folgenden Befehle in einem separaten Terminal ausführen.
Linux (empfohlen)
Wenn Sie das Azure Cloud HSM SDK mithilfe von DEB oder RPM installiert haben, wird der Client nicht automatisch für die Ausführung als Dienst konfiguriert. Das SDK enthält während der Installation eine Diensteinheitsdatei unter /etc/systemd/system/azure-cloud-hsm.service. Um azcloudhsm_client als Dienst auszuführen, verwenden Sie die vordefinierte azure-cloud-hsm.service Datei.
Laden Sie die systemd Konfiguration neu, und aktivieren Sie den Dienst, um sicherzustellen, dass er kontinuierlich ausgeführt wird. Führen Sie die folgenden Schritte durch:
Öffnen Sie ein Terminalfenster, und ändern Sie das Verzeichnis in
/etc/systemd/system, in dem sich die Cloud HSM-Diensteinheitsdatei befindet:cd /etc/systemd/systemStarten und Aktivieren des Cloud HSM-Clientdiensts:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.serviceÜberprüfen Sie den Status des Cloud HSM-Clientdiensts:
sudo systemctl status azure-cloud-hsm.serviceLaden Sie die
systemdKonfiguration neu:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (manuell)
Starten Sie den Clientdaemon, falls er nicht ausgeführt wird:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
Sie können auch den Clientdaemon im Hintergrund ausführen, indem Sie den folgenden Befehl verwenden. Oder Sie können den Clientdaemon als Dienst ausführen, um sicherzustellen, dass er immer ausgeführt wird.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
Windows (empfohlen)
Wenn Sie das Azure Cloud HSM SDK mithilfe eines MSI-Pakets installiert haben, ist der Client bereits für die Ausführung als Dienst konfiguriert. Wenn der Client nicht ausgeführt wird, können Sie öffnen Services.msc, mit der rechten Maustaste auf den Microsoft Azure Cloud HSM-Clientdienst klicken und dann "Start" auswählen.
Windows (manuell)
Starten Sie den Clientdaemon, falls er nicht ausgeführt wird:
cd C:\Program Files\Microsoft Azure Cloud HSM Client SDK
.\azcloudhsm_client.exe .\azcloudhsm_resource.cfg
Wie kann die PKCS#11-Bibliothek für Linux die Clientkonfiguration finden?
Die PKCS#11-Bibliothek weiß, wie sie die Clientkonfiguration finden kann, da Sie eine Kopie Ihres Partitionsbesitzerzertifikats (PO.crt) auf dem Anwendungsserver haben müssen, auf dem Ihre Anwendung ausgeführt wird und die PKCS#11-Bibliothek verwendet wird. Zusätzlich zum Partitionsbesitzerzertifikat:
- Sie müssen
/azcloudhsm_client/azcloudhsm_client.cfgauf dem Anwendungsserver, auf dem das SDK installiert ist, aktualisieren, damit es auf Ihre Azure Cloud HSM-Bereitstellung verweist (d. h.hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net). - Das
azcloudhsm_clientTool muss auf dem Anwendungsserver ausgeführt werden, der eine Verbindung mit Ihrer Azure Cloud HSM-Bereitstellung herstellt. - Sie müssen eine PIN in Ihrer PKCS#11-Anwendung mithilfe der Syntax
<username>:<password>angeben. Diese PIN wird für Anrufe fürC_Loginbei Ihrer Azure Cloud HSM-Bereitstellung verwendet. - Sie müssen
pkcs11_headers/include/cryptoki.hundpkcs11_headers/include/pkcs11t.hin Ihrer PKCS#11-Anwendung einfügen, um die PKCS#11-Bibliothek für Azure Cloud HSM zu verwenden.
Wie weiß die PKCS#11-Bibliothek (azcloudhsm_pkcs11.dll) für Windows, wie sie die Clientkonfiguration finden kann?
Die azcloudhsm_pkcs11.dll Datei im Azure Cloud HSM Windows SDK weiß, wie sie die Clientkonfiguration finden kann, da Sie eine Kopie Ihres Partitionsbesitzerzertifikats (PO.crt) auf dem Anwendungsserver haben müssen, auf dem Ihre Anwendung ausgeführt wird und die PKCS#11-Bibliothek verwendet wird. Zusätzlich zum Partitionsbesitzerzertifikat:
- Sie müssen
/azcloudhsm_client/azcloudhsm_client.cfgauf dem Anwendungsserver, der das SDK installiert hat, aktualisieren, um auf Ihre Azure Cloud HSM-Bereitstellung zu verweisen (d.h.hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net). - Das
azcloudhsm_clientTool muss auf dem Anwendungsserver ausgeführt werden, der eine Verbindung mit Ihrer Azure Cloud HSM-Bereitstellung herstellt. - Sie müssen eine PIN in Ihrer PKCS#11-Anwendung mithilfe der Syntax
<username>:<password>angeben. Diese PIN wird für Anrufe fürC_Loginbei Ihrer Azure Cloud HSM-Bereitstellung verwendet. - Sie müssen
pkcs11_headers\include\cryptoki.hundpkcs11_headers\include\pkcs11t.hin Ihre PKCS#11-Anwendung einschließen, um die PKCS#11-Bibliothek für Azure Cloud HSM verwenden zu können.
Warum erhalte ich PKCS#11-Fehler, wenn ich versuche, einen Schlüssel oder Keystore festzulegen?
Stellen Sie sicher, dass der Azure Cloud HSM-Client ausgeführt wird (sudo ./azcloudhsm_client azcloudhsm_client.cfg). Ein falscher Benutzer, ein falsches Kennwort, ein flüssiger Sicherheitsclient, der nicht ausgeführt wird, oder ein Client, der keine Verbindung herstellt, kann zu folgendem Fehler führen:
Error Message:ERROR at line 1:
ORA-28407: Hardware Security Module failed with PKCS#11 error
CKR_GENERAL_ERROR(5)
Wie lässt sich die PKCS#11-Bibliothek (azcloudhsm_pkcs11.dll) in OpenSC integrieren?
Sie müssen die Argumente --sensitive und --private verwenden, wenn Sie Open-Source-Smartcardtools (OpenSC) verwenden, da die vertraulichen und privaten Attribute nicht 0 sein können. Ohne diese Argumente setzt OpenSC-Tools die vertraulichen und privaten Attribute auf 0. Diese Attribute generieren eine Ausnahme, da Azure Cloud HSM immer sensibles und privates Verhalten aufzwingt.
Hier sehen Sie ein Beispiel für den Advanced Encryption Standard (AES)-Umbruch:
pkcs11-tool.exe --sensitive --private --module "C:\AzureCloudHSM-ClientSDK\AzureCloudHSM-ClientSDK-Windows-1.0.3.0\libs\pkcs11\azcloudhsm_pkcs11.dll" --login --login-type user --pin cu1:user1234 --keygen --key-type AES:32*
Hier ist ein Beispiel für eine elliptische Kryptografie (ECC) P521:
pkcs11-tool.exe --sensitive --private --module "C:\AzureCloudHSM-ClientSDK\AzureCloudHSM-ClientSDK-Windows-1.0.3.0\libs\pkcs11\azcloudhsm_pkcs11.dll" --login --login-type user --pin cu1:user1234 --keypairgen --key-type EC:prime256v1 --usage-sign
SSL/TLS-Offloading für Azure Cloud HSM
In den folgenden Abschnitten werden Fragen zur Abladung von Secure Sockets Layer (SSL) oder TLS-Verarbeitung (Transport Layer Security) beantwortet.
Unterstützt das OpenSSL-Modul für Azure Cloud HSM PKCS#11 für ssl/TLS offloading?
Nein. Das OpenSSL-Modul für Azure Cloud HSM unterstützt PKCS#11 für ssl/TLS offloading nicht. Kunden, die PKCS#11 für ssl/TLS offloading benötigen, müssen die TLS Offload-Bibliothek für azure Managed HSM verwenden.
Warum erhalte ich beim Ausführen von azcloudhsm_util die Fehlermeldung "Fehler beim Verbinden des Sockets, LIQUIDSECURITY: Daemon socket connection error"?
Die Fehlermeldung deutet darauf hin, dass azcloudhsm_client nicht läuft. Stellen Sie sicher, dass azcloudhsm_client läuft, damit die Azure Cloud HSM-Tools ordnungsgemäß funktionieren. Sie können azcloudhsm_client starten, indem Sie sicherstellen, dass es als Dienst ausgeführt wird, oder indem Sie einen der folgenden Befehle in einem separaten Terminal manuell ausführen.
Linux (empfohlen)
Wenn Sie das Azure Cloud HSM SDK mithilfe von DEB oder RPM installiert haben, wird der Client nicht automatisch für die Ausführung als Dienst konfiguriert. Das SDK enthält während der Installation eine Diensteinheitsdatei unter /etc/systemd/system/azure-cloud-hsm.service. Um azcloudhsm_client als Dienst auszuführen, verwenden Sie die vordefinierte azure-cloud-hsm.service Datei.
Laden Sie die systemd Konfiguration neu, und aktivieren Sie den Dienst, um sicherzustellen, dass er kontinuierlich ausgeführt wird. Führen Sie die folgenden Schritte durch:
Öffnen Sie ein Terminalfenster, und ändern Sie das Verzeichnis in
/etc/systemd/system, in dem sich die Cloud HSM-Diensteinheitsdatei befindet:cd /etc/systemd/systemStarten und Aktivieren des Cloud HSM-Clientdiensts:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.serviceÜberprüfen Sie den Status des Cloud HSM-Clientdiensts:
sudo systemctl status azure-cloud-hsm.serviceLaden Sie die
systemdKonfiguration neu:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (Handbuch)
Starten Sie den Clientdaemon, falls er nicht ausgeführt wird:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
Sie können auch den Clientdaemon im Hintergrund ausführen, indem Sie den folgenden Befehl verwenden. Oder Sie können den Clientdaemon als Dienst ausführen, um sicherzustellen, dass er immer ausgeführt wird.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
Warum erhalte ich die Fehlermeldung "Umgebungsvariable azcloudhsm_password ist nicht festgelegt"?
Die Fehlermeldung schlägt vor, dass die erforderliche Umgebungsvariable azcloudhsm_password nicht konfiguriert ist. Um dieses Problem zu beheben, legen Sie die azcloudhsm_password Umgebungsvariable auf den Wert von cryptouser:password.
Aktualisieren Sie Ihre Umgebungsvariablen, um den richtigen Kryptografiebenutzer und das richtige Kennwort widerzuspiegeln:
export azcloudhsm_password="cu1:user1234"
Warum erhalte ich die Fehlermeldung "Schlüssel/Token nicht gefunden" oder "Ungültiges Schlüsselhandle/Token", wenn ich versuche, einen Schlüssel zu importieren?
Die Fehlermeldung deutet darauf hin, dass das angegebene Umbruchschlüsselhandle (die KEK-Handle-ID) falsch ist. Der Parameter „-f“ gibt den Dateinamen an, der den zu importierenden Schlüssel enthält, während „-w“ das Umbruchschlüsselhandle angegeben wird. Bei der Erstellung eines benutzerseitig generierten KEK sollte der -w-Wert die Schlüsselhandle-ID Ihrer benutzerseitig generierten KEK-ID sein.
azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 importPrivateKey -l importTestKey -f key.pem -w 262150
Warum erhalte ich die Fehlermeldung "/configure: Error: C compiler cc not found", wenn ich versuche, die NGINX-Quellen zu konfigurieren?
Die Fehlermeldung schlägt vor, dass ein C-Compiler auf Ihrem System fehlt, wenn Sie den configure Befehl ausführen. Je nach Installation müssen Sie möglicherweise auch openssl libssl-dev und zlib1g zlib1g-dev installieren, nachdem Sie die folgenden Befehle ausgeführt haben. Diese Elemente sind Abhängigkeiten.
Red Hat-basierte Systeme (mit YUM)
sudo yum update
sudo yum groupinstall "Development Tools"
Red Hat-basierte Systeme (mit DNF)
sudo dnf update
sudo dnf install "Development Tools"
Ubuntu-basierte Systeme (mit APT)
sudo apt update
sudo apt install build-essential
Warum erhalte ich die Fehlermeldung "/configure: Error: SSL-Module erfordern die OpenSSL-Bibliothek"?
Die Fehlermeldung gibt an, dass die OpenSSL-Bibliothek erforderlich ist, um SSL-Module für NGINX zu aktivieren. Um dieses Problem zu beheben, führen Sie den folgenden Befehl aus und führen Sie configure erneut aus.
sudo apt-get install libssl-dev
Warum erhalte ich die Fehlermeldung "/configure: Error: Das HTTP-gzip-Modul erfordert die zlib-Bibliothek"?
Die Fehlermeldung gibt an, dass die zlib-Bibliothek für das HTTP-Gzip-Modul in NGINX erforderlich ist. Um dieses Problem zu beheben, führen Sie den folgenden Befehl aus und dann configure erneut aus.
sudo apt-get install zlib1g-dev
Warum erhalte ich die Fehlermeldung "HSM Error: RET_USER_LOGIN_FAILURE"?
Die Fehlermeldung gibt an, dass der angegebene Benutzer nicht auf einem oder mehreren Knoten vorhanden ist, in denen Sie versuchen, einen kryptografischen Vorgang auszuführen. Obwohl Azure Cloud HSM mit einem Cluster von drei Knoten arbeitet, wurde der Vorgang an einen Knoten geleitet, bei dem die Anmeldung fehlgeschlagen ist.
In solchen Fällen wird eine critical_err_info_ Datei innerhalb des AzureCloudHSM-ClientSDK Verzeichnisses generiert. Die Datei zeigt "Status: HSM-Fehler: Dieser Benutzer ist nicht vorhanden.".
Um diesen Fehler zu beheben, müssen Sie einen Kryptografiebenutzer (CU) erstellen, der über alle drei Knoten Ihrer Azure Cloud HSM-Bereitstellung repliziert wird. Das folgende Beispiel zeigt den Start azcloudhsm_mgmt_util und einen Administrator, der sich als Kryptografiebeauftragter (CO)-Benutzer anmeldet. Anschließend wird eine benutzende cu1-Person mit der Rolle einer CU erstellt.
sudo ./azcloudhsm_mgmt_util ./azcloudhsm_mgmt_util.cfg
loginHSM CO admin adminpassword
createUser CU cu1 user1234
logoutHSM
loginHSM CU cu1 user1234
Wie zeige ich den Inhalt der von mir erstellten CRT-, CSR- oder Schlüsseldatei an?
Verwenden Sie den folgenden Befehl, um den Inhalt des Zertifikats (CRT), der Zertifikatsignaturanforderung (CSR) oder der Schlüsseldatei anzuzeigen, die Sie in Ihrem Terminal erstellt haben:
cat filename.key
Um detaillierte Informationen zu einem X.509-Zertifikat anzuzeigen, das in der Datei Privacy Enhanced Mail (PEM) enthalten ist, verwenden Sie den folgenden Befehl. Wenn Ihre PEM-Datei einen privaten Schlüssel oder andere Datentypen enthält, müssen Sie den Befehl möglicherweise entsprechend anpassen.
openssl x509 -in filename.pem -text -noout
Verwenden Sie den folgenden Befehl, um detaillierte Informationen zu einer CSR anzuzeigen. Diese Informationen umfassen den Betreff, den öffentlichen Schlüssel und alle Attribute, die in der Anforderung enthalten sind.
openssl req -in filename.csr -text -noout
Um detaillierte Informationen zu einem privaten RSA-Schlüssel (Rivest-Shamir-Adleman) anzuzeigen, verwenden Sie den folgenden Befehl. Diese Informationen umfassen das Modul des Schlüssels, den öffentlichen Exponenten und andere Parameter.
openssl rsa -in filename.key -text -noout
Verwenden Sie den folgenden Befehl, um detaillierte Informationen zu einem elliptischen Kurven (EC) privaten Schlüssel anzuzeigen. Es zeigt die Kurvenparameter, den Wert des privaten Schlüssels und andere relevante Informationen an.
openssl ec -in filename.key -text -noout
Wie generiert ich ein ED25519 Schlüsselpaar in Azure Cloud HSM zum Signieren?
ED25519 Schlüssel werden in der Regel für selbstsignierte Zertifikate oder in Zertifikatsignierungsprozessen verwendet, die den privaten Schlüssel direkt verwenden. Sie können ein ED25519-Schlüsselpaar mithilfe azcloudhsm_util oder der OpenSSL-Engine für Azure Cloud HSM generieren.
Von Bedeutung
Wir empfehlen nicht die Verwendung von openssl genpkey oder openssl ecparam. Die Verwendung von openssl genpkey oder openssl ecparam mit -engine azcloudhsm_openssl zum Generieren eines ED25519 oder ECCKeyPair-Schlüssels erzeugt keinen HSM-Schlüssel. Stattdessen wird ein Softwareschlüssel generiert. Wenn Sie ED25519 oder andere EC-Schlüsseltypen benötigen, müssen Sie azcloudhsm_util verwenden, um den Schlüssel innerhalb des HSM zu erstellen.
Openssl genpkey und openssl ecparam sind beide OpenSSL-Befehle zum Generieren kryptografischer Schlüssel, dienen jedoch unterschiedlichen Zwecken und unterstützen unterschiedliche Schlüsseltypen. Verwenden Sie openssl genpkey, wenn Sie eine Vielzahl von asymmetrischen kryptografischen Schlüsseln generieren müssen, einschließlich RSA-Schlüssel, DSA-Schlüssel, ECDSA-Schlüssel und ED25519-Schlüssel. Dient openssl ecparam speziell zur Generierung von elliptischen Kurven-Kryptoschlüsseln (ECDSA), wie prime256v1, secp384r1 oder secp521r1.
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genECCKeyPair -i 28 -l labelED25519Test
Kann ich azcloudhsm_util verwenden, um RSA- und EC-Schlüssel zu generieren, bevor ich das Azure Cloud HSM OpenSSL-Modul zum Generieren einer CSR verwendet?
Ja. Sie können die folgenden azcloudhsm_util Befehle ausführen, um einen RSA- oder EC-Schlüssel zu erstellen und dann den privaten Schlüssel in ein gefälschtes PEM-Format zu extrahieren. Ersetzen Sie {PRIVATE_KEY_HANDLE} durch das privaten Schlüsselhandle des von Ihnen erstellten RSA- oder EC-Schlüssels.
Die Metadatendatei für private Schlüssel im PEM-Format enthält keine vertraulichen materialien für private Schlüssel. Die Metadaten identifizieren den privaten Schlüssel, und nur das OpenSSL-Modul für Azure Cloud HSM versteht diese Datei.
Verwenden Sie diesen Befehl, um einen RSA-Schlüssel zu erstellen:
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genRSAKeyPair -m 2048 -e 65537 -l labelRSATest
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 getCaviumPrivKey -k {PRIVATE_KEY_HANDLE} -out web_server_fake_PEM.key
openssl req -new -key web_server_fake_PEM.key -out web_server.csr -engine azcloudhsm_openssl
openssl x509 -req -days 365 -in web_server.csr -signkey web_server_fake_PEM.key -out web_server.crt -engine azcloudhsm_openssl
Verwenden Sie diesen Befehl, um einen EC-Schlüssel zu erstellen:
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genECCKeyPair -i 2 -l labelECTest
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 getCaviumPrivKey -k {PRIVATE_KEY_HANDLE} -out web_server_fake_PEM.key
openssl req -new -key web_server_fake_PEM.key -out web_server.csr -engine azcloudhsm_openssl
openssl x509 -req -days 365 -in web_server.csr -signkey web_server_fake_PEM.key -out web_server.crt -engine azcloudhsm_openssl
SQL Server EKM für Azure Cloud HSM
In den folgenden Abschnitten werden Fragen im Zusammenhang mit dem Feature Extensible Key Management (EKM) in SQL Server beantwortet.
Unterstützt ein SQL Server EKM-Anbieter für Azure Cloud HSM symmetrische Schlüssel?
Nein. SQL Server unterstützt keine symmetrischen Schlüssel für die transparente Datenverschlüsselung. Nur asymmetrische Schlüssel werden unterstützt.
Unterstützt ein SQL Server EKM-Anbieter für Azure Cloud HSM SQL Server unter Linux?
Nein. Ein SQL Server EKM-Anbieter für Azure Cloud HSM unterstützt nur Windows Server.
Unterstützt ein SQL Server EKM-Anbieter für Azure Cloud HSM SQL Server SaaS/PaaS?
Nein. Azure Cloud HSM ist nur Infrastruktur als Dienst (IaaS). Kunden von Software as a Service (SaaS) oder Plattform as a Service (PaaS) sollten Azure Managed HSM verwenden, die transparente Datenverschlüsselung für Azure SQL-Datenbank und azure SQL Managed Instance unterstützt.
Unterstützt ein SQL Server EKM-Anbieter für Azure Cloud HSM mehrere Anmeldungen, Anmeldeinformationen und Verbindungen?
Für einen SQL Server EKM-Anbieter für Azure Cloud HSM ist die Anmeldung oder SQL-Verbindung begrenzt, und es kann nur eine einzelne Anmeldeinformation zugewiesen werden.
Warum erhalte ich die Fehlermeldung "Fehler: Kryptografieanbieter kann nicht initialisiert werden. Anbieterfehlercode: 1. (Fehler - Weitere Informationen erhalten Sie vom EKM-Anbieter)"?
Dieser häufige Fehler kann auftreten, wenn Sie das MSI-Paket für Azure Cloud HSM nach der Installation von SQL Server ausführen. Der Fehler verschwindet, wenn Sie SQL Server neu starten. Zu diesem Zeitpunkt werden die Umgebungsvariablen und -einstellungen erfasst, die Sie beim Ausführen des MSI-Pakets für Azure Cloud HSM erstellt haben.
AD CS-Integration in Azure Cloud HSM
In den folgenden Abschnitten werden Fragen zu Active Directory-Zertifikatdiensten (AD CS) beantwortet.
Warum erhalte ich die Fehlermeldung "Kann openssl-ca.cnf file" nicht öffnen, wenn ich versuche, ein Zertifikat von einem Microsoft KSP mithilfe des bereitgestellten Beispiels zu migrieren?
Dieser Fehler tritt häufig auf, wenn die openssl-ca.cnf Datei nicht vorhanden ist, während Sie versuchen, ein Zertifikat von einem Schlüsselspeicheranbieter (Key Storage Provider, KSP) zu migrieren. Sie können die Datei selbst erstellen oder aus einer anderen Quelle abrufen.
Kann ich meine eigenen Signaturserver in meinem Unternehmensnetzwerk verwenden, die Azure Cloud HSM als SaaS-Lösung nutzt?
Azure Cloud HSM ist nur IaaS. Sie können jedoch ihre eigenen Anmeldeserver in Ihrem Unternehmensnetzwerk verwenden.
Sie können eine Standort-zu-Standort- oder Punkt-zu-Standort-VPN-Verbindung von Ihrem lokalen Netzwerkgateway konfigurieren. Dies ist die am häufigsten verwendete Methode und eignet sich für die meisten Anwendungsfälle. Richten Sie eine VPN-Verbindung zwischen den lokalen Servern Ihres Unternehmensnetzwerks und dem Speicherort ein, an dem Azure Cloud HSM bereitgestellt wird. Weitere Informationen finden Sie im Lernprogramm: Erstellen einer Standort-zu-Standort-VPN-Verbindung im Azure-Portal.
Sie können AD CS für Ihre Signaturserver lokal verwenden. Das SDK muss sich auf Ihrem lokalen Host befinden, und der Client muss auf die privaten IP-Adressen in Ihrem virtuellen Azure-Netzwerk erreichbar sein. Es gelten die folgenden Anforderungen:
- Sie müssen
azcloudhsm_clientauf demselben Computer ausführen, auf dem der Anbieter der Kryptografie-API: Next Generation (CNG) für Azure Cloud HSM vorhanden ist. - Das
azcloudhsm_clientTool sollte in der Lage sein, mit den privaten IPs des virtuellen Azure-Netzwerks zu kommunizieren.
Beim Testen von AD CS haben wir ein RSA-Schlüsselpaar generiert und dann die Zertifikatverwaltung zum Signieren verwendet.
Werden nur das Signieren oder Überprüfen über Cloud HSM-Anbieter (z. B. azcloudhsm_util) akzeptiert?
Nein. Unsere Empfehlung besteht darin, das Azure Cloud HSM SDK und die Schnittstellen (z. B. PKCS#11, CNG, KSP, JCE und OpenSSL-Modul) zu verwenden, die es bereitstellt. Sie können auch das Signatur-Tool (signtool.exe) für Signatur- oder Überprüfungsvorgänge verwenden.
AD CS ist für die Verwendung von CNG oder einem KSP für Azure Cloud HSM konfiguriert.
Kann ich die Signatur/Überprüfung von Cloud HSM über signtool.exeverwenden?
Ja. Das Signiertool wechselt automatisch auf Ihre Cloud HSM-Bereitstellung. Es ist nicht erforderlich, zu verwenden azcloudhsm_util. Wir haben azcloudhsm_util in die Anweisungen aufgenommen, um Kunden die Möglichkeit zu geben, ihre AD CS-Konfigurationen schnell zu testen und zu überprüfen.
Kann ich selbstsignierte Zertifikate basierend auf dem Schlüsselpaar in Cloud HSM zum Testen verwenden?
Ja. Sie können selbstsignierte Zertifikate basierend auf dem Schlüsselpaar zu Testzwecken verwenden.
Gibt es eine Integration oder eine Möglichkeit, Zertifikate über den lokalen Windows-Zertifikatspeicher verfügbar zu machen?
Sie können das certreq.exe Tool zu diesem Zweck verwenden.
Welche Algorithmen unterstützen CNG- und KSP-Anbieter für Azure Cloud HSM?
- RSA-Verschlüsselung und Entschlüsselung
- RSA-Signierung mit SHA1-, SHA256-, SHA384-, SHA512- und MD5-Hashalgorithmen
- ECC-Kurven ECDSA_P256, ECDSA_P384 und ECDSA_P521
Wie kann ich private Schlüsselberechtigungen für nichtadministrative Benutzer unter Windows ändern oder verwalten?
Wenn Sie einen Schlüssel mithilfe eines KSP oder einer CNG für Azure Cloud HSM generieren, erhält nur der Administrator Zugriff auf den privaten Schlüssel. Möglicherweise treten Probleme beim Anzeigen von Sicherheitsinformationen oder beim Ändern von Berechtigungen über die Microsoft Management Console (MMC) auf. Dieses Verhalten ist beabsichtigt.
Wenn Sie einen KSP oder CNG verwenden, ist der Zugriff auf die private Key-Datei für einen neuen Schlüssel standardmäßig auf SYSTEM und Administratoren beschränkt. Wenn Sie Zugriff auf einen nichtadministrativen Benutzer für eine bestimmte private Schlüsseldatei gewähren müssen, identifizieren Sie den Dateinamen für den privaten Schlüssel, und weisen Sie Berechtigungen direkt zu. Private Schlüssel befinden sich im Verzeichnis C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP unter Windows für Cloud HSM-Schlüssel.
Was macht azcloudhsm_ksp_import_key.exe?
Sie können zum Importieren oder Darstellen asymmetrischer Schlüssel im Cloud HSM-KSP verwenden azcloudhsm_ksp_import_key.exe .
Unterstützte Algorithmen sind RSA (2048 bis 4096 in Vielfachen von 256), ECDSA und ECDH. Bei ECDSA und ECDH sind unterstützte Kurven P256, P384 und P521. Nachdem ein Schlüssel im Cloud HSM-KSP importiert oder dargestellt wurde, sollten Sie den Schlüssel nur über den Cloud HSM-KSP verwalten.
Was ist die empfohlene Methode zum Herstellen einer Verbindung mit Cloud HSM aus dem Unternehmensnetzwerk (Vorgangs-/Administratoraufgaben)?
Sie können eine Verbindung über Ihr virtuelles Netzwerk herstellen. Verwenden Sie die folgenden Tools:
- Das
azcloudhsm_mgmt_utilTool führt Vorgänge aus (Administratoraufgaben auf dem HSM). Es erfordert Anmeldeinformationen (Partition Cryptography Officer, PCO). - Das
azcloudhsm_client-Tool (Client Daemon) verbindet sich über die Anmeldeinformationen des Partitionskryptografiebenutzers (PCU).
Das azcloudhsm_client Tool und Ihre Anwendung müssen auf demselben virtuellen Computer im virtuellen Netzwerk ausgeführt werden. Der Grund dafür ist, dass die Anwendung über remote procedure call (RPC) eine Verbindung mit dem Clientprozess herstellt.
Der Azure Cloud HSM-Dienst überwacht Port 443 (azcloudhsm_client Anforderungen), 444 (azcloudhsm_mgmt_util Anforderungen) und 445 (Server-zu-Server-Kommunikation).
Front-End-Ports sind 2224 und 2225 für das TCP over TLS-Protokoll. Diese Ports sind nur für Kunden bestimmt.