Uwaga
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.
Ten artykuł ułatwia rozwiązywanie typowych problemów i błędów, które mogą wystąpić podczas korzystania z usługi Azure Cloud HSM.
Typowe komunikaty o błędach
W poniższych sekcjach znajdują się odpowiedzi na pytania dotyczące typowych błędów, w tym błędów związanych z maszynami wirtualnymi i sprzętowymi modułami zabezpieczeń (HSM).
Dlaczego podczas uruchamiania azcloudhsm_mgmt_util jest wyświetlany komunikat o błędzie "Błąd certyfikatu: [Błąd podpisu certyfikatu]"?
Ten błąd może wystąpić podczas wykonywania następujących kroków:
- Utwórz i zainicjuj wdrożenie modułu HSM w chmurze platformy Azure z innej maszyny wirtualnej.
- pl-PL: Spróbuj zainstalować zestaw SDK klienta modułu HSM w chmurze i uruchomić go na innej maszynie wirtualnej, której brakuje lub która nie ma poprawnego pliku
PO.crt
z maszyny wirtualnej administratora, z której ją zainicjowano.
Jeśli skopiujesz plik PO.crt
z maszyny wirtualnej administratora do nowej maszyny wirtualnej i ponownie uruchomisz azcloudhsm_mgmt_util
, powinno zostać wyświetlone pomyślne połączenie z modułem HSM.
Dlaczego otrzymuję komunikat o błędzie "INF: shutdown_ssl_socket: SSL_shutdown wysłano alert close_notify" podczas uruchamiania azcloudhsm_client?
Ten błąd może wystąpić podczas wykonywania następujących kroków:
- Utwórz i zainicjuj wdrożenie modułu HSM w chmurze platformy Azure z innej maszyny wirtualnej.
- Spróbuj zainstalować pakiet SDK klienta Cloud HSM i uruchomić go na innej maszynie wirtualnej, która nie ma lub brakuje jej poprawnego pliku
PO.crt
z maszyny wirtualnej administratora, z której został zainicjowany.
Jeśli skopiujesz plik PO.crt
z maszyny wirtualnej administratora do nowej maszyny wirtualnej i ponownie uruchomisz azcloudhsm_client
, powinieneś zobaczyć pomyślne połączenie z modułem HSM.
Dlaczego pojawia się komunikat o błędzie "azcloudhsm_application.cfg nie jest obecny"?
Aby zapewnić pomyślne wykonanie aplikacji, należy spełnić następujące dwa warunki:
Plik
azcloudhsm_application.cfg
znajduje się w tym samym katalogu co aplikacja.Narzędzie
azcloudhsm_client
jest uruchomione. Jeśliazcloudhsm_client
nie jest aktywne, napotkasz nieudane połączenie gniazda.Podobnie brak
azcloudhsm_application.cfg
pliku powoduje wyświetlenie komunikatu o błędzie. W zależności od lokalizacji wykonywania aplikacji może być konieczne skopiowanieazcloudhsm_application.cfg
pliku z katalogu zestawu SDK modułu HSM w chmurze platformy Azure do katalogu, w którym jest uruchomiona aplikacja.
Aparat OpenSSL dla modułu HSM w chmurze platformy Azure
Czy silnik OpenSSL dla modułu HSM chmury Azure obsługuje system Windows?
Nie. Silnik OpenSSL dla modułu HSM platformy Azure w chmurze obsługuje wyłącznie systemy Linux (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8 i CBL Mariner 2).
Dlaczego otrzymuję komunikat o błędzie „Nieprawidłowy silnik 'azcloudhsm_openssl' - nie udało się załadować współdzielonej biblioteki”?
Komunikat o błędzie sugeruje, że zmienna LD_LIBRARY_PATH
środowiskowa wymagań wstępnych nie jest skonfigurowana. Ta konfiguracja jest niezbędna. Ustaw zmienną LD_LIBRARY_PATH
środowiskową na katalog, w którym znajduje się zestaw SDK modułu HSM w chmurze platformy Azure.
Aby odzwierciedlić poprawną wersję zestawu SDK, należy zaktualizować zmienne środowiskowe, uruchamiając następujące polecenie:
export LD_LIBRARY_PATH=/opt/azurecloudhsm/lib64/:$LD_LIBRARY_PATH
Dlaczego pojawia się komunikat o błędzie "zmienna środowiskowa azcloudhsm_openssl_conf nie jest ustawiona"?
Komunikat o błędzie sygnalizuje, że nie skonfigurowano zmiennej środowiskowej azcloudhsm_openssl_conf
wymagań wstępnych. Ustaw zmienną azcloudhsm_openssl_conf
środowiskową na lokalizację azcloudhsm_openssl_dynamic.conf
ścieżki pliku w katalogu zestawu SDK modułu HSM w chmurze platformy Azure.
Aby odzwierciedlić poprawną wersję zestawu SDK, należy zaktualizować zmienne środowiskowe, uruchamiając następujące polecenie:
export azcloudhsm_openssl_conf=/opt/azurecloudhsm/bin/azcloudhsm_openssl_dynamic.conf
Dlaczego pojawia się komunikat o błędzie "zmienna środowiskowa azcloudhsm_password nie jest ustawiona"?
Komunikat o błędzie sugeruje, że zmienna azcloudhsm_password
środowiskowa wymagań wstępnych nie jest skonfigurowana. Ustaw zmienną azcloudhsm_password
środowiskową na wartość cryptouser:password
.
Musisz zaktualizować zmienne środowiskowe, aby odzwierciedlały poprawnego użytkownika i hasła kryptografii:
export azcloudhsm_password="cu1:user1234"
Dostawca JCE dla modułu HSM w chmurze platformy Azure
Poniższe sekcje odpowiadają na pytania związane z rozszerzeniem kryptografii Języka Java (JCE).
Czy integracja JCE z modułem HSM w chmurze platformy Azure obsługuje system Windows?
Nie. Integracja JCE z modułem HSM w chmurze platformy Azure obsługuje tylko system Linux (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8, CBL Mariner 2).
Dlaczego pojawia się komunikat o błędzie "Nie można odnaleźć poświadczeń logowania do modułu HSM"?
Błąd wskazuje wyzwanie podczas lokalizowania lub uwierzytelniania poświadczeń wymaganych do zalogowania się do modułu HSM w chmurze. Jeśli używasz przykładów w tej dokumentacji lub dołączasz dostawcę JCE dla modułu HSM w chmurze platformy Azure do aplikacji, ważne jest, aby jawnie zalogować się przy użyciu poświadczeń:
// Explicit Login with Credentials
LoginManager lm=LoginManager.getInstance();
lm.login("PARTITION_1","cu1","user1234");
// Logout of the HSM
lm.logout();
Dlaczego otrzymuję komunikat o błędzie "atrybut o wartości 0 dla tej operacji? Atrybut powinien być ustawiony dla klucza KEK użytkownika"?
Błąd wskazuje, że klucz szyfrowania wygenerowany przez użytkownika nie został utworzony, nie wyznaczono go jako wyodrębnialny, a wrap_with_trusted
jest ustawiony na 1. Aby użyć odpowiednich ustawień podczas importowania kluczy, zawijania kluczy i operacji odpakowania klucza, zobacz sekcję dotyczącą tworzenia klucza KEK wygenerowanego przez użytkownika w przewodniku integracji JCE.
Dlaczego otrzymuję komunikat o błędzie "Błąd połączenia gniazda demona, logowanie do API nie powiodło się"?
Błąd wskazuje wyzwanie podczas lokalizowania lub uwierzytelniania poświadczeń wymaganych do zalogowania się do modułu HSM w chmurze. Jeśli używasz przykładów w przewodniku integracji JCE lub włączasz dostawcę JCE Azure Cloud HSM do swoich aplikacji, niezbędne jest jawne logowanie przy użyciu poświadczeń w celu zapewnienia połączenia.
Biblioteka PKCS#11 dla modułu HSM w chmurze platformy Azure
Dlaczego pojawia się komunikat o błędzie "C_Login zakończył się niepowodzeniem z kodem błędu: 0xa3"?
Błąd 0xa3
wskazuje błąd logowania. Błąd może być związany z formatem przekazywanych parametrów numeru PIN lub numer PIN (hasło) może być niepoprawny.
Numer PIN powinien być podany w następującym formacie: char pPin[256] = "crypto_user:user123";
. Wartość pPin
powinna być zgodna ze strukturą <username>
:<password>
. Sprawdź, czy podajesz pPin
wartość w tym formacie, ponieważ każde odchylenie może spowodować niepowodzenie logowania.
Dlaczego pojawia się komunikat o błędzie "C_Initialize() nie powiodło się z 00000005 (nie można nawiązać połączenia z socketem)"?
Nieudane połączenie gniazda podczas C_Initialize
może być związane z tym, że narzędzie azcloudhsm_client
nie działa na twoim systemie. Aby aplikacje PKCS#11 działały pomyślnie, azcloudhsm_client
musi być uruchomione. Możesz zacząć od azcloudhsm_client
uruchomienia jednego z następujących poleceń w osobnym terminalu.
Linux (zalecane)
Jeśli zestaw SDK modułu HSM w chmurze platformy Azure został zainstalowany przy użyciu funkcji DEB lub RPM, klient nie jest konfigurowany automatycznie do uruchamiania jako usługa. Zestaw SDK podczas instalacji zawiera plik jednostki usługi w folderze /etc/systemd/system/azure-cloud-hsm.service
. Aby włączyć uruchamianie azcloudhsm_client
jako usługi, użyj wstępnie zdefiniowanego pliku azure-cloud-hsm.service
.
Załaduj ponownie konfigurację i włącz usługę systemd
, aby upewnić się, że jest ona stale uruchomiona. Wykonaj następujące kroki:
Otwórz okno terminalu i zmień katalog na
/etc/systemd/system
, gdzie znajduje się plik jednostki usługi HsM w chmurze:cd /etc/systemd/system
Uruchom i włącz usługę klienta modułu HSM w chmurze:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.service
Sprawdź stan usługi klienta modułu HSM w chmurze:
sudo systemctl status azure-cloud-hsm.service
Załaduj ponownie konfigurację
systemd
:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (instrukcja)
Uruchom demona klienta, jeśli nie jest uruchomiony:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
Możesz również uruchomić demona klienta w tle, używając następującego polecenia. Możesz też uruchomić demona klienta jako usługę, aby upewnić się, że jest ona zawsze uruchomiona.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
Windows (zalecane)
Jeśli zestaw SDK modułu HSM w chmurze platformy Azure został zainstalowany przy użyciu pakietu MSI, klient jest już skonfigurowany do uruchamiania jako usługa. Jeśli klient nie jest uruchomiony, możesz otworzyć plik Services.msc
, kliknij prawym przyciskiem myszy pozycję Microsoft Azure Cloud HSM Client Service, a następnie wybierz polecenie Uruchom.
Windows (ręcznie)
Uruchom demona klienta, jeśli nie jest uruchomiony:
cd C:\Program Files\Microsoft Azure Cloud HSM Client SDK
.\azcloudhsm_client.exe .\azcloudhsm_resource.cfg
Jak biblioteka PKCS#11 dla systemu Linux wie, jak znaleźć konfigurację klienta?
Biblioteka PKCS#11 wie, jak znaleźć konfigurację klienta, ponieważ musisz mieć kopię certyfikatu właściciela partycji (PO.crt
) na serwerze aplikacji z uruchomioną aplikacją i przy użyciu biblioteki PKCS#11. Oprócz certyfikatu właściciela partycji:
- Należy zaktualizować
/azcloudhsm_client/azcloudhsm_client.cfg
na serwerze aplikacji z zainstalowanym zestawem SDK, aby wskazać wdrożenie modułu HSM w chmurze platformy Azure (czylihsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net
). - Narzędzie
azcloudhsm_client
musi być uruchomione na serwerze aplikacji, który łączy się z wdrożeniem modułu HSM w chmurze platformy Azure. - Należy określić numer PIN w aplikacji PKCS#11 przy użyciu składni
<username>:<password>
. Ten numer PIN służy do wywoływaniaC_Login
wdrożenia modułu HSM w chmurze platformy Azure. - Aby korzystać z biblioteki PKCS#11 dla modułu HSM w chmurze Azure, musisz w aplikacji PKCS#11 dołączyć
pkcs11_headers/include/cryptoki.h
ipkcs11_headers/include/pkcs11t.h
.
Jak biblioteka PKCS#11 (azcloudhsm_pkcs11.dll) dla systemu Windows wie, jak znaleźć konfigurację klienta?
azcloudhsm_pkcs11.dll
Plik w systemie Windows SDK chmury Azure HSM wie, jak znaleźć konfigurację klienta, ponieważ musisz mieć kopię certyfikatu właściciela partycji (PO.crt
) na serwerze aplikacji, na którym działa Twoja aplikacja i używana jest biblioteka PKCS#11. Oprócz certyfikatu właściciela partycji:
- Należy zaktualizować
/azcloudhsm_client/azcloudhsm_client.cfg
na serwerze aplikacji z zainstalowanym zestawem SDK, aby wskazać wdrożenie modułu HSM w chmurze platformy Azure (czylihsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net
). - Narzędzie
azcloudhsm_client
musi działać na serwerze aplikacji, który łączy się z wdrożeniem modułu HSM w chmurze platformy Azure. - Należy określić numer PIN w aplikacji PKCS#11 przy użyciu składni
<username>:<password>
. Ten PIN służy do uzyskiwania dostępu doC_Login
wdrożenia modułu HSM w chmurze platformy Azure. - Aby używać biblioteki PKCS#11 z modułem HSM w chmurze Azure, musisz dołączyć
pkcs11_headers\include\cryptoki.h
ipkcs11_headers\include\pkcs11t.h
w swojej aplikacji PKCS#11.
Dlaczego podczas próby ustawienia klucza lub magazynu kluczy otrzymuję błędy PKCS#11?
Upewnij się, że masz uruchomionego klienta modułu HSM w chmurze platformy Azure (sudo ./azcloudhsm_client azcloudhsm_client.cfg
). Niepoprawny użytkownik, nieprawidłowe hasło, klient zabezpieczeń cieczy nie jest uruchomiony lub klient, który nie może nawiązać połączenia, może spowodować następujący błąd:
Error Message:ERROR at line 1:
ORA-28407: Hardware Security Module failed with PKCS#11 error
CKR_GENERAL_ERROR(5)
W jaki sposób biblioteka PKCS#11 (azcloudhsm_pkcs11.dll) integruje się z programem OpenSC?
Musisz użyć argumentów --sensitive
i --private
podczas korzystania z narzędzi OpenSC do obsługi otwartoźródłowej karty inteligentnej, ponieważ poufne i prywatne atrybuty nie mogą być zmieniane na 0
. Bez tych argumentów narzędzia OpenSC ustawiają atrybuty poufne i prywatne na wartość 0
. Te atrybuty generują wyjątek, ponieważ moduł HSM w chmurze platformy Azure zawsze nakłada poufne i prywatne zachowanie.
Oto przykład stosujący standard szyfrowania AES (Advanced Encryption Standard):
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*
Oto przykład kryptografii krzywej eliptycznej (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
Odciążanie protokołu SSL/TLS dla modułu HSM w chmurze platformy Azure
W poniższych sekcjach odpowiadają na pytania związane z odciążaniem przetwarzania protokołów Secure Sockets Layer (SSL) lub Transport Layer Security (TLS).
Czy silnik OpenSSL dla modułu HSM w chmurze Azure obsługuje odciążanie SSL/TLS przy użyciu PKCS#11?
Nie. Silnik OpenSSL dla Azure Cloud HSM nie obsługuje PKCS#11 do odciążania SSL/TLS. Klienci, którzy wymagają wykorzystania PKCS#11 do odciążania SSL/TLS, muszą używać biblioteki TLS Offload dla Azure Managed HSM.
Dlaczego podczas uruchamiania azcloudhsm_util pojawia się komunikat o błędzie "Nie można połączyć gniazda, LIQUIDSECURITY: Błąd połączenia z gniazdem demona"?
Komunikat o błędzie sugeruje, że azcloudhsm_client
nie jest uruchomiony. Upewnij się, że azcloudhsm_client
jest uruchomione, aby narzędzia Azure Cloud HSM działały prawidłowo. Możesz zacząć od azcloudhsm_client
upewnienia się, że działa jako usługa lub ręcznie uruchamiając jedno z następujących poleceń w osobnym terminalu.
Linux (zalecane)
Jeśli zestaw SDK modułu HSM w chmurze platformy Azure został zainstalowany przy użyciu funkcji DEB lub RPM, klient nie jest konfigurowany automatycznie do uruchamiania jako usługa. Zestaw SDK podczas instalacji zawiera plik jednostki usługi w obszarze /etc/systemd/system/azure-cloud-hsm.service
. Aby włączyć uruchamianie azcloudhsm_client
jako usługę, użyj wstępnie zdefiniowanego pliku azure-cloud-hsm.service
.
Załaduj ponownie konfigurację i włącz usługę systemd
, aby upewnić się, że jest ona stale uruchomiona. Wykonaj następujące kroki:
Otwórz okno terminalu i zmień katalog na
/etc/systemd/system
, gdzie znajduje się plik jednostki usługi HsM w chmurze:cd /etc/systemd/system
Uruchom i włącz usługę klienta modułu HSM w chmurze:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.service
Sprawdź stan usługi klienta modułu HSM w chmurze:
sudo systemctl status azure-cloud-hsm.service
Załaduj ponownie konfigurację
systemd
:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (podręcznik)
Uruchom demona klienta, jeśli nie jest uruchomiony:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
Możesz również uruchomić demona klienta w tle, używając następującego polecenia. Możesz też uruchomić demona klienta jako usługę, aby upewnić się, że jest ona zawsze uruchomiona.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
Dlaczego pojawia się komunikat o błędzie "zmienna środowiskowa azcloudhsm_password nie jest ustawiona"?
Komunikat o błędzie sugeruje, że zmienna azcloudhsm_password
środowiskowa wymagań wstępnych nie jest skonfigurowana. Aby rozwiązać ten problem, ustaw zmienną azcloudhsm_password
środowiskową na wartość cryptouser:password
.
Zaktualizuj zmienne środowiskowe w celu odzwierciedlenia poprawnego użytkownika i hasła kryptografii:
export azcloudhsm_password="cu1:user1234"
Dlaczego podczas próby zaimportowania klucza jest wyświetlany komunikat o błędzie "Nie znaleziono klucza/tokenu" lub "Nieprawidłowy uchwyt klucza/token"?
Komunikat o błędzie sugeruje, że określony uchwyt klucza opakowującego (identyfikator uchwytu klucza KEK) jest niepoprawny. Parametr -f
określa nazwę pliku, który zawiera klucz do zaimportowania, natomiast -w
określa uchwyt klucza opakowującego. Podczas tworzenia klucza KEK generowanego przez użytkownika, wartość -w
powinna być identyfikatorem uchwytu klucza dla Twojego wygenerowanego identyfikatora KEK.
azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 importPrivateKey -l importTestKey -f key.pem -w 262150
Dlaczego podczas próby skonfigurowania źródeł NGINX pojawia się komunikat o błędzie "/configure: błąd: nie znaleziono kompilatora języka C"?
Komunikat o błędzie sugeruje, że w systemie brakuje kompilatora języka C podczas uruchamiania configure
polecenia. W zależności od instalacji, po uruchomieniu następujących poleceń może być również konieczne zainstalowanie openssl libssl-dev
i zlib1g zlib1g-dev
. Te elementy są zależnościami.
Systemy oparte na systemie Red Hat (przy użyciu YUM)
sudo yum update
sudo yum groupinstall "Development Tools"
Systemy oparte na systemie Red Hat (przy użyciu systemu DNF)
sudo dnf update
sudo dnf install "Development Tools"
Systemy oparte na systemie Ubuntu (przy użyciu narzędzia APT)
sudo apt update
sudo apt install build-essential
Dlaczego pojawia się komunikat o błędzie "/configure: błąd: moduły SSL wymagają biblioteki OpenSSL"?
Komunikat o błędzie wskazuje, że biblioteka OpenSSL jest wymagana do włączenia modułów SSL dla serwera NGINX. Aby rozwiązać ten problem, uruchom następujące polecenie, a następnie uruchom ponownie polecenie configure
:
sudo apt-get install libssl-dev
Dlaczego pojawia się komunikat o błędzie "/configure: błąd: moduł HTTP gzip wymaga biblioteki zlib"?
Komunikat o błędzie wskazuje, że biblioteka zlib jest wymagana dla modułu HTTP gzip w NGINX. Aby rozwiązać ten problem, uruchom następujące polecenie, a następnie uruchom ponownie polecenie configure
:
sudo apt-get install zlib1g-dev
Dlaczego pojawia się komunikat o błędzie "Błąd HSM: RET_USER_LOGIN_FAILURE"?
Komunikat o błędzie wskazuje, że określony użytkownik nie istnieje w co najmniej jednym węźle, w którym próbujesz wykonać operację kryptograficzną. Mimo że moduł HSM w chmurze platformy Azure działa z klastrem trzech węzłów, operacja została skierowana do węzła, w którym logowanie nie powiodło się.
W takich przypadkach plik critical_err_info_
jest generowany w katalogu AzureCloudHSM-ClientSDK
. W pliku jest wyświetlany komunikat "Stan: błąd HSM: ten użytkownik nie istnieje".
Aby wyeliminować ten błąd, należy utworzyć użytkownika kryptografii (CU), który jest replikowany we wszystkich trzech węzłach wdrożenia modułu HSM w chmurze platformy Azure. W poniższym przykładzie pokazano, jak zostaje zainicjowane azcloudhsm_mgmt_util
oraz logowanie administratora jako użytkownika pełniącego rolę oficera kryptografii (CO). W tym przykładzie utworzony zostanie użytkownik z rolą CU.
sudo ./azcloudhsm_mgmt_util ./azcloudhsm_mgmt_util.cfg
loginHSM CO admin adminpassword
createUser CU cu1 user1234
logoutHSM
loginHSM CU cu1 user1234
Jak wyświetlić zawartość utworzonego pliku CRT, CSR lub klucza?
Aby wyświetlić zawartość certyfikatu (CRT), żądanie podpisania certyfikatu (CSR) lub plik klucza utworzony w terminalu, użyj następującego polecenia:
cat filename.key
Aby wyświetlić szczegółowe informacje na temat certyfikatu X.509 zawartego w pliku PEM (Privacy Enhanced Mail), użyj następującego polecenia. Jeśli plik PEM zawiera klucz prywatny lub inne typy danych, może być konieczne odpowiednie dostosowanie polecenia.
openssl x509 -in filename.pem -text -noout
Aby wyświetlić szczegółowe informacje o csr, użyj następującego polecenia. Te informacje obejmują temat, klucz publiczny i wszystkie atrybuty uwzględnione w żądaniu.
openssl req -in filename.csr -text -noout
Aby wyświetlić szczegółowe informacje dotyczące klucza prywatnego Rivest-Shamir-Adleman (RSA), użyj następującego polecenia. Te informacje obejmują moduł klucza, wykładnik publiczny klucza i inne parametry.
openssl rsa -in filename.key -text -noout
Aby wyświetlić szczegółowe informacje na temat klucza prywatnego krzywej eliptycznej (EC), użyj następującego polecenia. Wyświetla parametry krzywej, wartość klucza prywatnego i inne istotne informacje.
openssl ec -in filename.key -text -noout
Jak wygenerować parę kluczy ED25519 w module HSM w chmurze platformy Azure na potrzeby podpisywania?
klucze ED25519 są zwykle używane w przypadku certyfikatów z podpisem własnym lub w procesach podpisywania certyfikatów, które bezpośrednio korzystają z klucza prywatnego. Możesz wygenerować parę kluczy ED25519 za pomocą azcloudhsm_util
lub silnika OpenSSL dla modułu HSM w chmurze Azure.
Ważne
Nie zalecamy używania openssl genpkey
lub openssl ecparam
. Użycie openssl genpkey
lub openssl ecparam
z -engine azcloudhsm_openssl
do wygenerowania klucza ED25519 lub ECCKeyPair nie generuje klucza HSM. Zamiast tego generuje klucz oprogramowania. Jeśli potrzebujesz ED25519 lub innych typów kluczy EC, musisz użyć azcloudhsm_util
do utworzenia klucza w HSM.
Openssl genpkey
i openssl ecparam
są poleceniami OpenSSL do generowania kluczy kryptograficznych, ale mają różne zastosowania i obsługują różne typy kluczy. Użyj openssl genpkey
, gdy musisz wygenerować szeroką gamę asymetrycznych kluczy kryptograficznych, w tym RSA, DSA, ECDSA i ED25519. Użyj openssl ecparam
specjalnie do generowania kluczy kryptograficznych krzywej eliptycznej (ECDSA), takich jak prime256v1, secp384r1 lub secp521r1.
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genECCKeyPair -i 28 -l labelED25519Test
Czy mogę użyć azcloudhsm_util do wygenerowania kluczy RSA i EC przed użyciem modułu OpenSSL Azure Cloud HSM do wygenerowania CSR?
Tak. Możesz uruchomić następujące azcloudhsm_util
polecenia, aby utworzyć klucz RSA lub EC, a następnie wyodrębnić klucz prywatny do fałszywego formatu PEM. Zastąp {PRIVATE_KEY_HANDLE}
uchwytem klucza prywatnego RSA lub EC, który utworzyłeś.
Plik metadanych klucza prywatnego w formacie PEM nie zawiera żadnych poufnych materiałów klucza prywatnego. Metadane identyfikują klucz prywatny, a tylko silnik OpenSSL dla Azure Cloud HSM rozumie ten plik.
Użyj tego polecenia, aby utworzyć klucz RSA:
./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
Użyj tego polecenia, aby utworzyć klucz EC:
./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
Program SQL Server EKM dla modułu HSM w chmurze platformy Azure
W poniższych sekcjach przedstawiono odpowiedzi na pytania związane z funkcją rozszerzonego zarządzania kluczami (EKM) w programie SQL Server.
Czy dostawca EKM programu SQL Server dla modułu HSM w chmurze platformy Azure obsługuje klucze symetryczne?
Nie. Program SQL Server nie obsługuje kluczy symetrycznych na potrzeby przezroczystego szyfrowania danych. Obsługiwane są tylko klucze asymetryczne.
Czy dostawca EKM programu SQL Server dla modułu HSM w chmurze platformy Azure obsługuje program SQL Server w systemie Linux?
Nie. Dostawca EKM programu SQL Server dla modułu HSM w chmurze platformy Azure obsługuje tylko system Windows Server.
Czy dostawca EKM programu SQL Server dla modułu HSM w chmurze platformy Azure obsługuje program SQL Server SaaS/PaaS?
Nie. Moduł HSM w chmurze platformy Azure to tylko infrastruktura jako usługa (IaaS). Klienci oprogramowania jako usługi (SaaS) lub platformy jako usługi (PaaS) powinni używać zarządzanego modułu HSM platformy Azure, który obsługuje przezroczyste szyfrowanie danych dla usług Azure SQL Database i Azure SQL Managed Instance.
Czy dostawca EKM programu SQL Server dla modułu HSM w chmurze platformy Azure obsługuje wiele logów, poświadczeń i połączeń?
W przypadku dostawcy EKM programu SQL Server dla modułu HSM w chmurze platformy Azure logowanie lub połączenie SQL jest ograniczone i może mieć przypisane tylko jedno poświadczenie.
Dlaczego pojawia się komunikat o błędzie "Błąd: nie można zainicjować dostawcy usług kryptograficznych. Kod błędu dostawcy: 1. (Błąd — zapoznaj się z dostawcą EKM, aby uzyskać szczegółowe informacje)"?
Ten typowy błąd może wystąpić podczas uruchamiania pakietu MSI dla modułu HSM w chmurze platformy Azure po zainstalowaniu programu SQL Server. Błąd zniknie po ponownym uruchomieniu programu SQL Server. W tym momencie pobiera zmienne środowiskowe i ustawienia utworzone podczas uruchamiania pakietu MSI dla modułu HSM w chmurze platformy Azure.
Integracja usług AD CS z modułem HSM w chmurze platformy Azure
Poniższe sekcje odpowiadają na pytania związane z usługami certyfikatów Active Directory (AD CS).
Dlaczego otrzymuję komunikat o błędzie "Nie można otworzyć pliku openssl-ca.cnf", gdy próbuję przeprowadzić migrację certyfikatu z dostawcy KSP firmy Microsoft przy użyciu podanego przykładu?
Ten błąd często pojawia się, gdy plik openssl-ca.cnf
nie istnieje, podczas próby migracji certyfikatu z dostawcy przechowywania kluczy (KSP). Możesz utworzyć plik samodzielnie lub uzyskać go z innego źródła.
Czy mogę używać własnych serwerów podpisywania w sieci firmowej, która korzysta z modułu HSM w chmurze platformy Azure jako rozwiązania SaaS?
Moduł HSM w chmurze platformy Azure to tylko usługa IaaS. Możesz jednak użyć własnych serwerów podpisywania w sieci firmowej.
Połączenie sieci VPN typu lokacja-lokacja lub punkt-lokacja można skonfigurować z bramy sieci lokalnej. Jest to najbardziej typowa metoda i jest odpowiednia dla większości przypadków użycia. Skonfiguruj połączenie sieci VPN między serwerami lokalnymi sieci firmowej a lokalizacją, w której wdrożono moduł HSM w chmurze platformy Azure. Aby uzyskać więcej informacji, zobacz Samouczek: tworzenie połączenia sieci VPN typu lokacja-lokacja w witrynie Azure Portal.
Możesz mieć usługi AD CS dla swoich serwerów podpisywania lokalnie. Zestaw SDK musi znajdować się na hoście lokalnym, a klient musi być dostępny dla prywatnych adresów IP w sieci wirtualnej platformy Azure. Obowiązują następujące wymagania:
- Musisz uruchomić
azcloudhsm_client
na tej samej maszynie, na której istnieje dostawca Cryptography API: Next Generation (CNG) dla modułu HSM w chmurze platformy Azure. - Narzędzie
azcloudhsm_client
powinno mieć możliwość komunikowania się z prywatnymi adresami IP sieci wirtualnej platformy Azure.
Po przetestowaniu usług AD CS wygenerowaliśmy parę kluczy RSA, a następnie użyliśmy zarządzania certyfikatami do podpisania.
Czy jedynymi akceptowanymi metodami podpisywania lub weryfikowania są te poprzez dostawców modułów HSM w chmurze (na przykład azcloudhsm_util)?
Nie. Naszym zaleceniem jest użycie Azure Cloud HSM SDK i interfejsów (takich jak PKCS#11, CNG, KSP, JCE i aparat OpenSSL), które ono udostępnia. Możesz również użyć narzędzia podpisywania (signtool.exe
) na potrzeby operacji podpisywania lub weryfikacji.
Usługa AD CS jest skonfigurowana do używania CNG lub KSP dla modułu HSM w chmurze platformy Azure.
Czy mogę użyć podpisywania/weryfikacji z modułu HSM w chmurze za pośrednictwem signtool.exe?
Tak. Narzędzie podpisywania automatycznie przechodzi do wdrożenia modułu HSM w chmurze. Nie ma potrzeby używania azcloudhsm_util
. Uwzględniliśmy azcloudhsm_util
w instrukcjach jako sposób dla klientów na szybkie testowanie i weryfikację konfiguracji AD CS.
Czy do testowania można używać certyfikatów z podpisem własnym na podstawie pary kluczy w module HSM w chmurze?
Tak. Do celów testowych można używać certyfikatów z podpisem własnym na podstawie pary kluczy.
Czy istnieje integracja, czy sposób udostępniania certyfikatów za pośrednictwem lokalnego magazynu certyfikatów systemu Windows?
Możesz użyć certreq.exe
jako narzędzia w tym celu.
Jakie algorytmy są obsługiwane przez dostawców CNG i KSP na potrzeby obsługi modułu HSM w chmurze platformy Azure?
- Szyfrowanie i odszyfrowywanie RSA
- Podpisywanie RSA przy użyciu algorytmów wyznaczania wartości skrótu SHA1, SHA256, SHA384, SHA512 i MD5
- Krzywe ECC ECDSA_P256, ECDSA_P384 i ECDSA_P521
Jak zmienić uprawnienia klucza prywatnego lub zarządzać nimi dla użytkowników niebędących administratorami w systemie Windows?
W przypadku generowania klucza przy użyciu dostawcy kluczy lub CNG dla modułu HSM w chmurze platformy Azure tylko administrator otrzymuje dostęp do klucza prywatnego. Mogą wystąpić problemy z wyświetlaniem informacji zabezpieczających lub modyfikowaniem uprawnień za pośrednictwem programu Microsoft Management Console (MMC). To zachowanie jest zamierzone.
Domyślnie w przypadku korzystania z KSP lub CNG dostęp do pliku klucza prywatnego dla nowego klucza jest ograniczony do SYSTEM
i administratorów. Jeśli musisz zapewnić dostęp do użytkownika niebędącego administratorem dla określonego pliku klucza prywatnego, zidentyfikuj nazwę pliku klucza prywatnego i przypisz uprawnienia bezpośrednio. Klucze prywatne znajdują się w katalogu C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP
w systemie Windows for Cloud HSM keys ( Klucze HSM w chmurze).
Co robi azcloudhsm_ksp_import_key.exe?
Możesz użyć azcloudhsm_ksp_import_key.exe
do importowania lub reprezentowania kluczy asymetrycznych w dostawcy KSP modułu HSM w chmurze.
Obsługiwane algorytmy to RSA (od 2048 do 4096 w wielokrotnościach 256), ECDSA i ECDH. W przypadku ECDSA i ECDH obsługiwane krzywe to P256, P384 i P521. Po zaimportowaniu lub reprezentowaniu klucza w dostawcy KSP modułu HSM w chmurze należy zarządzać kluczem tylko z dostawcy KSP modułu HSM w chmurze.
Jaki jest zalecany sposób nawiązywania połączenia z modułem HSM w chmurze z sieci firmowej (operacje/zadania administracyjne)?
Połączenie można nawiązać za pośrednictwem sieci wirtualnej. Użyj następujących narzędzi:
- Narzędzie
azcloudhsm_mgmt_util
wykonuje operacje (zadania administracyjne w module HSM). Wymaga to poświadczeń oficera kryptografii partycji (PCO). -
azcloudhsm_client
Narzędzie (demon klienta) łączy się za pośrednictwem poświadczeń użytkownika kryptografii partycji (PCU).
Narzędzie azcloudhsm_client
i aplikacja muszą działać na tej samej maszynie wirtualnej w sieci wirtualnej. Przyczyną jest to, że aplikacja łączy się z procesem klienta za pośrednictwem zdalnego wywołania procedury (RPC).
Usługa Azure Cloud HSM nasłuchuje na porcie 443 (azcloudhsm_client
żądania), 444 (azcloudhsm_mgmt_util
żądania) i 445 (komunikacja między serwerami).
Porty front-end to 2224 i 2225 dla protokołu TCP w protokole TLS. Te porty są przeznaczone tylko dla klientów.