Aracılığıyla paylaş


Azure Cloud HSM sorunlarını giderme

Bu makale, Azure Cloud HSM hizmetini kullanırken karşılaşabileceğiniz yaygın sorunları ve hataları gidermenize yardımcı olur.

Genel hata iletileri

Aşağıdaki bölümlerde, sanal makinelerle (VM) ve donanım güvenlik modülleriyle (HSM) ilgili hatalar da dahil olmak üzere yaygın hatalarla ilgili sorular yanıtlanmıştır.

azcloudhsm_mgmt_util çalıştırırken neden "Sertifika HATASı: [Sertifika imzası hatası]" hata iletisini alıyorum?

Bu hata, şu adımları uyguladığınızda oluşabilir:

  1. Azure Cloud HSM dağıtımınızı başka bir VM'den oluşturun ve başlatın.
  2. Cloud HSM İstemci SDK'sını yüklemeyi deneyin ve eksik olan veya başlatdığınız yönetici VM'den doğru PO.crt dosyaya sahip olmayan başka bir VM'den çalıştırmayı deneyin.

Dosyayı yönetici VM'nizden yeni VM'nize kopyalayıp PO.crt yeniden çalıştırırsanız azcloudhsm_mgmt_util, HSM'nize başarılı bir bağlantı görmeniz gerekir.

azcloudhsm_client çalıştırırken neden "INF: shutdown_ssl_socket: SSL_shutdown close_notify uyarısı gönderildi" hata iletisini alıyorum?

Bu hata, şu adımları uyguladığınızda oluşabilir:

  1. Azure Cloud HSM dağıtımınızı başka bir VM'den oluşturun ve başlatın.
  2. Cloud HSM İstemci SDK'sını yüklemeyi deneyin ve eksik olan veya başlatdığınız yönetici VM'den doğru PO.crt dosyaya sahip olmayan başka bir VM'den çalıştırmayı deneyin.

Dosyayı yönetici VM'nizden yeni VM'nize kopyalayıp PO.crt yeniden çalıştırırsanız azcloudhsm_client, HSM'nize başarılı bir bağlantı görmeniz gerekir.

Neden "azcloudhsm_application.cfg yok" hata iletisini alıyorum?

Uygulamanızın başarıyla yürütülmesini sağlamak için şu iki koşulu karşılamanız gerekir:

  • Dosya azcloudhsm_application.cfg , uygulamanızla aynı dizinde bulunur.

  • Araç azcloudhsm_client çalışıyor. Etkin değilse azcloudhsm_client , başarısız bir yuva bağlantısıyla karşılaşırsınız.

    Benzer şekilde, azcloudhsm_application.cfg dosyasının olmaması bir hata iletisiyle sonuçlanır. Uygulamanızın yürütme konumuna bağlı olarak, dosyayı Azure Cloud HSM SDK dizininden uygulamanızı çalıştırdığınız dizine kopyalamanız azcloudhsm_application.cfg gerekebilir.

Azure Cloud HSM için OpenSSL altyapısı

Azure Cloud HSM için OpenSSL altyapısı Windows'a destek oluyor mu?

Hayır. Azure Cloud HSM için OpenSSL altyapısı yalnızca Linux 'u (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8 ve CBL Mariner 2) destekler.

"Geçersiz 'azcloudhsm_openssl' altyapısı paylaşılan kitaplığı yükleyemedi" hata iletisini neden alıyorum?

Hata iletisi, önkoşul ortam değişkeninin LD_LIBRARY_PATH yapılandırılmadığını gösterir. Bu yapılandırma gereklidir. Ortam değişkenini LD_LIBRARY_PATH Azure Cloud HSM SDK'sının bulunduğu dizine ayarlayın.

Şu komutu çalıştırarak ortam değişkenlerinizi doğru SDK sürümünü yansıtacak şekilde güncelleştirmeniz gerekir:

export LD_LIBRARY_PATH=/opt/azurecloudhsm/lib64/:$LD_LIBRARY_PATH

Neden "ortam değişkeni azcloudhsm_openssl_conf ayarlanmadı" hata iletisini alıyorum?

Hata iletisi, önkoşul ortam değişkeninin azcloudhsm_openssl_conf yapılandırılmadığını belirtir. Ortam değişkenini azcloudhsm_openssl_conf Azure Cloud HSM SDK dizinindeki dosyanızın azcloudhsm_openssl_dynamic.conf dosya yolu konumuna ayarlayın.

Şu komutu çalıştırarak ortam değişkenlerinizi doğru SDK sürümünü yansıtacak şekilde güncelleştirmeniz gerekir:

export azcloudhsm_openssl_conf=/opt/azurecloudhsm/bin/azcloudhsm_openssl_dynamic.conf  

Neden "ortam değişkeni azcloudhsm_password ayarlanmadı" hata iletisini alıyorum?

Hata iletisi, önkoşul ortam değişkeninin azcloudhsm_password yapılandırılmadığını gösterir. Ortam değişkenini azcloudhsm_password değerine cryptouser:passwordayarlayın.

Ortam değişkenlerinizi doğru şifreleme kullanıcısını ve parolasını yansıtacak şekilde güncelleştirmeniz gerekir:

export azcloudhsm_password="cu1:user1234"

Azure Cloud HSM için JCE sağlayıcısı

Aşağıdaki bölümlerde Java Şifreleme Uzantısı (JCE) ile ilgili sorular yanıtlanmıştır.

Azure Cloud HSM ile JCE tümleştirmesi Windows'a destek oluyor mu?

Hayır. Azure Cloud HSM ile JCE tümleştirmesi yalnızca Linux'u (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8, CBL Mariner 2) destekler.

Neden "HSM'de oturum açmak için kimlik bilgileri bulunamadı" hata iletisini alıyorum?

Hata, Cloud HSM'de oturum açmak için gereken kimlik bilgilerini bulma veya kimlik doğrulama konusunda bir zorluk olduğunu gösterir. Bu belgedeki örnekleri kullanırken veya Azure Cloud HSM için JCE sağlayıcısını uygulamalarınıza eklerken, kimlik bilgileriyle açıkça oturum açmak önemlidir:

// Explicit Login with Credentials
LoginManager lm=LoginManager.getInstance();
lm.login("PARTITION_1","cu1","user1234");

// Logout of the HSM
lm.logout();

Neden "bu işlem için 0 değerine sahip öznitelik" hata iletisini alıyorum? Kullanıcı KEK'i için öznitelik ayarlanmalıdır"?

Hata, kullanıcı tarafından oluşturulan bir anahtar şifreleme anahtarının (KEK) oluşturulmadığını ve ayıklanabilir olarak belirlenmediğini ve wrap_with_trusted 1 olarak ayarlandığını gösterir. Anahtar içeri aktarma, anahtar sarmalama ve anahtar açma işlemlerini gerçekleştirirken kullanılacak uygun ayarlar için JCE tümleştirme kılavuzunda kullanıcı tarafından oluşturulan KEK oluşturma bölümüne bakın.

Neden "Daemon soket bağlantı hatası, API oturumu açılamadı" hata iletisini alıyorum?

Hata, Cloud HSM'de oturum açmak için gereken kimlik bilgilerini bulma veya kimlik doğrulama konusunda bir zorluk olduğunu gösterir. JCE tümleştirme kılavuzundaki örnekleri kullanırken veya Azure Cloud HSM JCE sağlayıcısını uygulamalarınıza eklerken, bağlantı sağlamak için kimlik bilgileriyle açıkça oturum açmanız önemlidir.

Azure Cloud HSM için PKCS#11 kitaplığı

Neden "C_Login hata koduyla başarısız oldu: 0xa3" hata iletisini alıyorum?

Hata 0xa3 , bir oturum açma hatası olduğunu gösterir. Hata, geçirdiğiniz PIN parametresinin biçimiyle ilgili olabilir veya PIN (parola) yanlış olabilir.

PIN şu biçimde sağlanmalıdır: char pPin[256] = "crypto_user:user123";. değeri öğesinin pPin yapısına <username><password>uygun olmalıdır. pPin değerini bu biçimde sağladığınızdan emin olun, çünkü herhangi bir sapma oturum açma hatasına yol açabilir.

Neden "C_Initialize() 00000005 ile başarısız oldu (Yuva bağlanamadı)" hata iletisini alıyorum?

Soket bağlantısının, C_Initialize sırasında başarısız olması, azcloudhsm_client aracının sisteminizde çalışmamasıyla ilgili olabilir. PKCS#11 uygulamalarınızın başarıyla çalışabilmesi için azcloudhsm_client'nın çalışıyor olması gerekir. Başlangıç olarak aşağıdaki komutlardan birini ayrı bir terminalde çalıştırabilirsiniz azcloudhsm_client .

Azure Cloud HSM SDK'sını DEB veya RPM kullanarak yüklediyseniz, istemci otomatik olarak hizmet olarak çalışacak şekilde yapılandırılmaz. SDK, yükleme sırasında altında /etc/systemd/system/azure-cloud-hsm.servicebir hizmet birimi dosyası içerir. Hizmet olarak çalıştırmayı etkinleştirmek azcloudhsm_client için önceden tanımlanmış azure-cloud-hsm.service dosyayı kullanın.

Yapılandırmayı systemd yeniden yükleyin ve sürekli çalıştığından emin olmak için hizmeti etkinleştirin. Aşağıdaki adımları gerçekleştirin:

  1. Bir terminal penceresi açın ve cloud HSM hizmet birimi dosyasının bulunduğu dizini /etc/systemd/systemolarak değiştirin:

    cd /etc/systemd/system
    
  2. Cloud HSM istemci hizmetini başlatın ve etkinleştirin:

    sudo systemctl start azure-cloud-hsm.service
    sudo systemctl enable azure-cloud-hsm.service
    
  3. Cloud HSM istemci hizmetinin durumunu denetleyin:

    sudo systemctl status azure-cloud-hsm.service
    
  4. Yapılandırmayı systemd yeniden yükleyin:

    sudo systemctl daemon-reload
    sudo systemctl list-units --type=service --state=running
    

Linux (el ile)

Çalışmıyorsa istemci daemon'ını başlatın:

sudo ./azcloudhsm_client azcloudhsm_client.cfg

Aşağıdaki komutu kullanarak istemci daemon'unu arka planda çalıştırmayı da seçebilirsiniz. Ya da istemci daemon'unu hizmet olarak çalıştırarak her zaman çalıştığından emin olabilirsiniz.

sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &

Azure Cloud HSM SDK'sını bir MSI paketi kullanarak yüklediyseniz, istemci zaten hizmet olarak çalışacak şekilde yapılandırılmıştır. İstemci çalışmıyorsa Services.msc açın, Microsoft Azure Bulut HSM İstemci Hizmeti'ne sağ tıklayın ve ardından Başlat'ı seçin.

Windows (el ile)

Çalışmıyorsa istemci daemon'ını başlatın:

cd C:\Program Files\Microsoft Azure Cloud HSM Client SDK 
.\azcloudhsm_client.exe .\azcloudhsm_resource.cfg 

Linux için PKCS#11 kitaplığı istemci yapılandırmasını nasıl bulacağını nasıl biliyor?

PKCS#11 kitaplığı, uygulamanızı çalıştıran ve PKCS#11 kitaplığını kullanan uygulama sunucusunda bölüm sahibi sertifikanızın (PO.crt) bir kopyasına sahip olmanız gerektiğinden istemci yapılandırmasını bulmayı bilir. Bölüm sahibi sertifikasına ek olarak:

  • SDK'nın yüklü olduğu uygulama sunucusunda, Azure Cloud HSM dağıtımınıza işaret edecek şekilde /azcloudhsm_client/azcloudhsm_client.cfg etiketini güncellemeniz gerekir (örneğin, hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net).
  • Aracın azcloudhsm_client Azure Cloud HSM dağıtımınıza bağlanan uygulama sunucusunda çalışıyor olması gerekir.
  • PKCS#11 uygulamanızda söz dizimini <username>:<password>kullanarak bir PIN belirtmelisiniz. Bu PIN, Azure Cloud HSM dağıtımınıza çağrı C_Login yapmak için kullanılır.
  • Azure Cloud HSM için PKCS#11 kitaplığını kullanmak amacıyla PKCS#11 uygulamanıza pkcs11_headers/include/cryptoki.h ve pkcs11_headers/include/pkcs11t.h eklemeniz gerekir.

Windows için PKCS#11 kitaplığı (azcloudhsm_pkcs11.dll) istemci yapılandırmasını nasıl bulacağını nasıl bilir?

azcloudhsm_pkcs11.dll Azure Cloud HSM Windows SDK'sı içindeki dosya, uygulamanızı çalıştıran ve PKCS#11 kitaplığını kullanan uygulama sunucusunda bölüm sahibi sertifikanızın (PO.crt) bir kopyasına sahip olmanız gerektiğinden istemci yapılandırmasını nasıl bulacağını bilir. Bölüm sahibi sertifikasına ek olarak:

  • Azure Cloud HSM dağıtımınıza (yani hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net) işaret etmesi için SDK'nın yüklü olduğu uygulama sunucusundaki /azcloudhsm_client/azcloudhsm_client.cfg öğesini güncelleştirmeniz gerekir.
  • Araç, azcloudhsm_client Azure Cloud HSM dağıtımınıza bağlanan uygulama sunucusunda çalıştırılmalıdır.
  • PKCS#11 uygulamanızda söz dizimini <username>:<password>kullanarak bir PIN belirtmelisiniz. Bu PIN, Azure Cloud HSM dağıtımınıza çağrı C_Login yapmak için kullanılır.
  • PKCS#11 uygulamanıza pkcs11_headers\include\cryptoki.h ve pkcs11_headers\include\pkcs11t.h eklemeniz, PKCS#11 kitaplığını Azure Cloud HSM için kullanmanız gerekir.

Anahtar veya anahtar deposu ayarlamaya çalıştığımda neden PKCS#11 hataları alıyorum?

Azure Cloud HSM istemcisinin ()sudo ./azcloudhsm_client azcloudhsm_client.cfg çalıştığından emin olun. Yanlış kullanıcı, yanlış parola, sıvı güvenlik istemcisi çalışmıyor veya bağlanamayan bir istemci aşağıdaki hataya neden olabilir:

Error Message:ERROR at line 1:
ORA-28407: Hardware Security Module failed with PKCS#11 error
CKR_GENERAL_ERROR(5)

PKCS#11 kitaplığı (azcloudhsm_pkcs11.dll) OpenSC ile nasıl tümleşir?

Açık kaynak akıllı kart (OpenSC) araçlarını kullanırken --sensitive ve --private bağımsız değişkenlerini kullanmanız gerekir çünkü hassas ve özel öznitelikler 0 olamaz. Bu bağımsız değişkenler olmadan, OpenSC araçları hassas ve özel öznitelikleri olarak 0 ayarlar. Azure Cloud HSM her zaman hassas ve özel davranışlar uyguladığından bu öznitelikler bir özel durum oluşturur.

Gelişmiş Şifreleme Standardı (AES) sarmalama örneği:

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*

Eliptik eğri şifrelemesi (ECC) P521 örneği aşağıda verilmişti:

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

Azure Cloud HSM için SSL/TLS boşaltma

Aşağıdaki bölümlerde Güvenli Yuva Katmanı (SSL) veya Aktarım Katmanı Güvenliği (TLS) işlemlerinin boşaltılmasıyla ilgili sorular yanıtlanmaktadır.

Azure Cloud HSM için OpenSSL altyapısı SSL/TLS boşaltma için PKCS#11'i destekliyor mu?

Hayır. Azure Cloud HSM için OpenSSL altyapısı, SSL/TLS boşaltma için PKCS#11'i desteklemez. SSL/TLS boşaltması için PKCS#11 gerektiren müşterilerin Azure Yönetilen HSM için TLS Boşaltma kitaplığını kullanması gerekir.

azcloudhsm_util çalıştırırken neden "Yuva bağlanamadı, LIQUIDSECURITY: Daemon yuva bağlantısı hatası" hata iletisini alıyorum?

Hata iletisi çalışmıyor olduğunu azcloudhsm_client gösteriyor. azcloudhsm_client Azure Cloud HSM araçlarının düzgün çalışması için çalıştığından emin olun. Hizmet olarak çalıştığından emin olarak veya aşağıdaki komutlardan birini ayrı bir terminalde el ile çalıştırarak işe başlayabilirsiniz azcloudhsm_client .

Azure Cloud HSM SDK'sını DEB veya RPM kullanarak yüklediyseniz, istemci otomatik olarak hizmet olarak çalışacak şekilde yapılandırılmaz. SDK, yükleme sırasında altında /etc/systemd/system/azure-cloud-hsm.servicebir hizmet birimi dosyası içerir. Hizmet olarak çalıştırmayı etkinleştirmek azcloudhsm_client için önceden tanımlanmış azure-cloud-hsm.service dosyayı kullanın.

Yapılandırmayı systemd yeniden yükleyin ve sürekli çalıştığından emin olmak için hizmeti etkinleştirin. Aşağıdaki adımları gerçekleştirin:

  1. Bir terminal penceresi açın ve cloud HSM hizmet birimi dosyasının bulunduğu dizini /etc/systemd/systemolarak değiştirin:

    cd /etc/systemd/system
    
  2. Cloud HSM istemci hizmetini başlatın ve etkinleştirin:

    sudo systemctl start azure-cloud-hsm.service
    sudo systemctl enable azure-cloud-hsm.service
    
  3. Cloud HSM istemci hizmetinin durumunu denetleyin:

    sudo systemctl status azure-cloud-hsm.service
    
  4. Yapılandırmayı systemd yeniden yükleyin:

    sudo systemctl daemon-reload
    sudo systemctl list-units --type=service --state=running
    

Linux (el ile)

Çalışmıyorsa istemci daemon'ını başlatın:

sudo ./azcloudhsm_client azcloudhsm_client.cfg

Aşağıdaki komutu kullanarak istemci daemon'unu arka planda çalıştırmayı da seçebilirsiniz. Ya da istemci daemon'unu hizmet olarak çalıştırarak her zaman çalıştığından emin olabilirsiniz.

sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &

Neden "ortam değişkeni azcloudhsm_password ayarlanmadı" hata iletisini alıyorum?

Hata iletisi, önkoşul ortam değişkeninin azcloudhsm_password yapılandırılmadığını gösterir. Bu sorunu çözmek için ortam değişkenini azcloudhsm_password değerine cryptouser:passwordayarlayın.

Ortam değişkenlerinizi doğru şifreleme kullanıcısını ve parolasını yansıtacak şekilde güncelleştirin:

export azcloudhsm_password="cu1:user1234"

Anahtarı içeri aktarmaya çalıştığımda neden "Anahtar/Belirteç bulunamadı" veya "Geçersiz anahtar tanıtıcısı/belirteci" hata iletisini alıyorum?

Hata iletisi, belirtilen sarmalama anahtarı tanıtıcısının (KEK tanıtıcı kimliği) yanlış olduğunu gösterir. parametresi -f içeri aktaracak anahtarı içeren dosya adını belirtirken -w sarmalama anahtarı tutamacını belirtir. Kullanıcı tarafından oluşturulan bir KEK oluşturulurken, -w değeri, kullanıcı tarafından oluşturulan KEK kimliğinizin anahtar tanıtıcı numarası olmalıdır.

azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 importPrivateKey -l importTestKey -f key.pem -w 262150

NGINX kaynaklarını yapılandırmaya çalıştığımda neden "/configure: error: C derleyici cc bulunamadı" hata iletisini alıyorum?

Hata iletisi, komutu çalıştırdığınızda sisteminizde bir C derleyicisi configure eksik olduğunu gösterir. Kurulumunuza bağlı olarak, aşağıdaki komutları çalıştırdıktan sonra openssl libssl-dev ve zlib1g zlib1g-dev'i de yüklemeniz gerekebilir. Bu öğeler bağımlılıklardır.

Red Hat tabanlı sistemler (YUM kullanılarak)

sudo yum update
sudo yum groupinstall "Development Tools"

Red Hat tabanlı sistemler (DNF kullanarak)

sudo dnf update
sudo dnf install "Development Tools"

Ubuntu tabanlı sistemler (APT kullanarak)

sudo apt update  
sudo apt install build-essential 

Neden "/configure: error: SSL modülleri OpenSSL kitaplığı gerektiriyor" hata iletisini alıyorum?

Hata iletisi, NGINX için SSL modüllerini etkinleştirmek için OpenSSL kitaplığının gerekli olduğunu gösterir. Bu sorunu çözmek için aşağıdaki komutu çalıştırın ve sonra yeniden çalıştırın configure :

sudo apt-get install libssl-dev

Neden "/configure: error: HTTP gzip modülü zlib kitaplığını gerektiriyor" hata iletisini alıyorum?

Hata iletisi, NGINX'teki HTTP gzip modülü için zlib kitaplığının gerekli olduğunu gösterir. Bu sorunu çözmek için aşağıdaki komutu çalıştırın ve sonra yeniden çalıştırın configure :

sudo apt-get install zlib1g-dev

Neden "HSM Hatası: RET_USER_LOGIN_FAILURE" hata iletisini alıyorum?

Hata iletisi, belirtilen kullanıcının şifreleme işlemini denediğiniz bir veya daha fazla düğümde bulunmadığını gösterir. Azure Cloud HSM üç düğümden oluşan bir kümeyle çalışsa da, işlem oturum açma işleminin başarısız olduğu bir düğüme yönlendirildi.

Böyle durumlarda, AzureCloudHSM-ClientSDK dizini içinde critical_err_info_ bir dosya oluşturulur. Dosyada "Durum: HSM Hatası: Bu kullanıcı yok" ifadesi gösterildi.

Bu hatayı azaltmak için Azure Cloud HSM dağıtımınızın üç düğümünde de çoğaltılmış bir şifreleme kullanıcısı (CU) oluşturmanız gerekir. Aşağıdaki örnek, azcloudhsm_mgmt_util'yi başlatmayı ve bir yöneticinin şifreleme yetkilisi (CO) kullanıcısı olarak oturum açmasını gösterir. Örnek daha sonra CU rolüne sahip bir kullanıcı oluşturur cu1 .

sudo ./azcloudhsm_mgmt_util ./azcloudhsm_mgmt_util.cfg
loginHSM CO admin adminpassword 
createUser CU cu1 user1234
logoutHSM
loginHSM CU cu1 user1234

Oluşturduğum CRT, CSR veya anahtar dosyasının içeriğini nasıl görüntüleyebilirim?

Sertifikanın (CRT), sertifika imzalama isteğinin (CSR) veya terminalinizde oluşturduğunuz anahtar dosyasının içeriğini görüntülemek için şu komutu kullanın:

cat filename.key

Gizlilik Artırılmış Posta (PEM) dosyasında yer alan bir X.509 sertifikası hakkında ayrıntılı bilgi görüntülemek için aşağıdaki komutu kullanın. PEM dosyanız özel anahtar veya başka veri türleri içeriyorsa, komutu buna göre ayarlamanız gerekebilir.

openssl x509 -in filename.pem -text -noout

CSR hakkında ayrıntılı bilgi görüntülemek için aşağıdaki komutu kullanın. Bu bilgiler konu, ortak anahtar ve istekte yer alan tüm öznitelikleri içerir.

openssl req -in filename.csr -text -noout

Rivest-Shamir-Adleman (RSA) özel anahtarı hakkında ayrıntılı bilgi görüntülemek için aşağıdaki komutu kullanın. Bu bilgiler anahtarın modülü, genel üssü ve diğer parametreleri içerir.

openssl rsa -in filename.key -text -noout

Üç nokta eğrisi (EC) özel anahtarı hakkında ayrıntılı bilgi görüntülemek için aşağıdaki komutu kullanın. Eğri parametrelerini, özel anahtar değerini ve diğer ilgili bilgileri görüntüler.

openssl ec -in filename.key -text -noout

İmzalama için Azure Cloud HSM'de nasıl ED25519 anahtar çifti oluşturabilirim?

ED25519 anahtarları genellikle otomatik olarak imzalanan sertifikalar için veya özel anahtarı doğrudan kullanan sertifika imzalama işlemlerinde kullanılır. Veya Azure Cloud HSM için OpenSSL altyapısını kullanarak azcloudhsm_util ED25519 anahtar çifti oluşturabilirsiniz.

Önemli

openssl genpkey veya openssl ecparam kullanılmasını önermiyoruz. openssl genpkey veya openssl ecparam ile -engine azcloudhsm_openssl kullanarak ED25519 veya ECCKeyPair anahtarı oluşturmak, bir HSM anahtarı üretmez. Bunun yerine bir yazılım anahtarı oluşturur. ED25519 veya diğer EC anahtar türlerine ihtiyacınız varsa, anahtarı HSM içinde oluşturmak için kullanmanız azcloudhsm_util gerekir.

Openssl genpkey ve openssl ecparam her ikisi de şifreleme anahtarları oluşturmaya yönelik OpenSSL komutlarıdır, ancak farklı amaçlara hizmet eder ve farklı anahtar türlerini destekler. RSA, DSA, ECDSA ve ED25519 anahtarları dahil olmak üzere çok çeşitli asimetrik şifreleme anahtarları oluşturmanız gerektiğinde kullanın openssl genpkey . Özellikle prime256v1, secp384r1 veya secp521r1 gibi eliptik eğri şifreleme anahtarları (ECDSA) oluşturmak için kullanın openssl ecparam .

./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genECCKeyPair -i 28 -l labelED25519Test

CsR oluşturmak için Azure Cloud HSM OpenSSL altyapısını kullanmadan önce RSA ve EC anahtarları oluşturmak için azcloudhsm_util kullanabilir miyim?

Evet. Aşağıdaki azcloudhsm_util komutları çalıştırarak bir RSA veya EC anahtarı oluşturabilir ve ardından özel anahtarı sahte pem biçiminde ayıklayabilirsiniz. {PRIVATE_KEY_HANDLE} öğesini, oluşturduğunuz RSA veya EC anahtarının özel anahtar tanıtıcısıyla değiştirin.

PEM biçimindeki özel anahtar meta veri dosyası hassas özel anahtar malzemeleri içermez. Meta veriler özel anahtarı tanımlar ve yalnızca Azure Cloud HSM için OpenSSL altyapısı bu dosyayı anlar.

RSA anahtarı oluşturmak için şu komutu kullanın:

./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 

Ec anahtarı oluşturmak için şu komutu kullanın:

./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 

Azure Cloud HSM için SQL Server EKM

Aşağıdaki bölümlerde SQL Server'daki Genişletilebilir Anahtar Yönetimi (EKM) özelliğiyle ilgili sorular yanıtlanmıştır.

Azure Cloud HSM için SQL Server EKM sağlayıcısı simetrik anahtarları destekliyor mu?

Hayır. SQL Server saydam veri şifrelemesi için simetrik anahtarları desteklemez. Yalnızca asimetrik anahtarlar desteklenir.

Azure Cloud HSM için SQL Server EKM sağlayıcısı Linux üzerinde SQL Server'ın desteklemektedir mi?

Hayır. Azure Cloud HSM için SQL Server EKM sağlayıcısı yalnızca Windows Server'ın desteklemektedir.

Azure Cloud HSM için SQL Server EKM sağlayıcısı SQL Server SaaS/PaaS'ı destekliyor mu?

Hayır. Azure Cloud HSM, yalnızca altyapı hizmeti olarak (IaaS) sunulur. Hizmet olarak yazılım (SaaS) veya hizmet olarak platform (PaaS) müşterileri, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği için saydam veri şifrelemeyi destekleyen Azure Yönetilen HSM'yi kullanmalıdır.

Azure Cloud HSM için SQL Server EKM sağlayıcısı birden çok oturum açmayı, kimlik bilgilerini ve bağlantıları destekliyor mu?

Azure Cloud HSM için SQL Server EKM sağlayıcısı için oturum açma veya SQL bağlantısı sınırlıdır ve yalnızca tek bir kimlik bilgisi atanabilir.

Neden "Hata: Şifreleme sağlayıcısı başlatılamıyor. Sağlayıcı hata kodu: 1. (Hata - Ayrıntılar için EKM sağlayıcısına başvurun)"?

Bu yaygın hata, SQL Server'ı yükledikten sonra Azure Cloud HSM için MSI paketini çalıştırdığınızda oluşabilir. SQL Server'i yeniden başlattığınızda hata gider. Bu noktada, Azure Cloud HSM için MSI paketini çalıştırdığınızda oluşturduğunuz ortam değişkenlerini ve ayarlarını alır.

Azure Cloud HSM ile AD CS tümleştirmesi

Aşağıdaki bölümlerde Active Directory Sertifika Hizmetleri (AD CS) ile ilgili sorular yanıtlanmıştır.

Sağlanan örneği kullanarak bir Microsoft KSP'den sertifika geçirmeye çalışırken neden "Opensl-ca.cnf dosyası açılamıyor" hata iletisini alıyorum?

Bu hata genellikle bir anahtar depolama sağlayıcısından (KSP) sertifika geçirmeye çalışırken dosya mevcut olmadığında oluşur openssl-ca.cnf . Dosyayı kendiniz oluşturabilir veya başka bir kaynaktan alabilirsiniz.

Azure Cloud HSM'i SaaS çözümü olarak kullanan şirket ağımda kendi imzalama sunucularımı kullanabilir miyim?

Azure Cloud HSM yalnızca IaaS'dir. Ancak, şirket ağınızda kendi imzalama sunucularınızı kullanabilirsiniz.

Yerel ağ geçidinizden siteden siteye veya noktadan siteye VPN bağlantısı yapılandırabilirsiniz. Bu en yaygın yöntemdir ve çoğu kullanım örneği için uygundur. Şirket ağınızın şirket içi sunucuları ile Azure Cloud HSM'nin dağıtıldığı konum arasında bir VPN bağlantısı ayarlayın. Daha fazla bilgi için bkz . Öğretici: Azure portalında siteden siteye VPN bağlantısı oluşturma.

Şirket içinde imzalama sunucularınız için AD CS'niz olabilir. SDK'nın şirket içi ana bilgisayarınızda olması ve istemcinin Azure sanal ağınızdaki özel IP adreslerine ulaşabilmesi gerekir. Aşağıdaki gereksinimler geçerlidir:

  • azcloudhsm_client komutunu, Azure Cloud HSM için Şifreleme API'si: Yeni Nesil (CNG) sağlayıcısının bulunduğu aynı makinede çalıştırmanız gerekir.
  • Araç, azcloudhsm_client Azure sanal ağının özel IP'leriyle iletişim kurabilmelidir.

AD CS'yi test ettiğimizde bir RSA anahtar çifti oluşturduk ve imzalamak için sertifika yönetimini kullandık.

Bulut HSM sağlayıcıları (örneğin, azcloudhsm_util) aracılığıyla imzalamak veya doğrulamak için tek kabul edilen yöntemler mi?

Hayır. Önerimiz Azure Cloud HSM SDK'sını ve sağladığı arabirimleri (PKCS#11, CNG, KSP, JCE ve OpenSSL altyapısı gibi) kullanmaktır. İmzalama veya doğrulama işlemleri için İmzaLama Aracı'nı (signtool.exe) da kullanabilirsiniz.

AD CS, Azure Cloud HSM için CNG veya KSP kullanacak şekilde yapılandırılmıştır.

Cloud HSM'den signtool.exearacılığıyla imzalama/doğrulamayı kullanabilir miyim?

Evet. İmza Aracı otomatik olarak Cloud HSM kurulumunuza gider. kullanmanıza azcloudhsm_utilgerek yoktur. Müşterilerin AD CS yapılandırmalarını hızlı bir şekilde test edip doğrulamalarının bir yolu olarak yönergelere ekledik azcloudhsm_util .

Test için Cloud HSM'deki anahtar çiftini temel alan otomatik olarak imzalanan sertifikalar kullanabilir miyim?

Evet. Test amacıyla anahtar çiftini temel alan otomatik olarak imzalanan sertifikaları kullanabilirsiniz.

Sertifikaları yerel Windows sertifika deposu aracılığıyla kullanılabilir hale getirmenin bir tümleştirmesi veya bir yolu var mı?

Bu amaçla aracı kullanabilirsiniz certreq.exe .

Azure Cloud HSM için CNG ve KSP sağlayıcıları hangi algoritmaları destekler?

  • RSA şifreleme ve şifre çözme
  • SHA1, SHA256, SHA384, SHA512 ve MD5 karma algoritmalarıyla RSA imzalama
  • ECC ECDSA_P256, ECDSA_P384 ve ECDSA_P521 eğrileri

Windows'ta yönetici olmayan kullanıcılar için özel anahtar izinlerini nasıl değiştirebilir veya yönetebilirim?

Azure Cloud HSM için KSP veya CNG kullanarak bir anahtar oluşturduğunuzda, özel anahtara yalnızca yönetici erişimi verilir. Microsoft Yönetim Konsolu (MMC) aracılığıyla güvenlik bilgilerini görüntülerken veya izinleri değiştirirken sorunlarla karşılaşabilirsiniz. Bu davranış kasıtlıdır.

Varsayılan olarak, KSP veya CNG kullandığınızda, yeni bir anahtarın özel anahtar dosyasına erişim SYSTEM ve yöneticilerle sınırlıdır. Belirli bir özel anahtar dosyası için yönetici olmayan bir kullanıcıya erişim sağlamanız gerekiyorsa, özel anahtarın dosya adını belirleyin ve izinleri doğrudan atayın. Özel anahtarlar, Cloud HSM anahtarları için Windows dizininde C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP bulunur.

azcloudhsm_ksp_import_key.exe ne yapar?

Cloud HSM KSP'de asimetrik anahtarları içeri aktarmak veya göstermek için kullanabilirsiniz azcloudhsm_ksp_import_key.exe .

Desteklenen algoritmalar RSA (2048 ile 4096 arasında 256'nın katları), ECDSA ve ECDH'dir. ECDSA ve ECDH için desteklenen eğriler P256, P384 ve P521'tir. Anahtar içeri aktarıldıktan veya Cloud HSM KSP'de gösterildikten sonra anahtarı yalnızca Cloud HSM KSP'den yönetmeniz gerekir.

Sanal ağınız üzerinden bağlanabilirsiniz. Şu araçları kullanın:

  • Araç azcloudhsm_mgmt_util işlemleri yürütür (HSM'de yönetici görevleri). Bölümleme şifreleme yetkilisi (PCO) kimlik bilgileri gerektirir.
  • Araç azcloudhsm_client (istemci arka plan programı) bölüm şifreleme kullanıcısı (PCU) kimlik bilgileriyle bağlanır.

Aracın azcloudhsm_client ve uygulamanızın sanal ağ içindeki aynı VM'de çalışması gerekir. Bunun nedeni, uygulamanın uzaktan yordam çağrısı (RPC) aracılığıyla istemci işlemine bağlanmasıdır.

Azure Cloud HSM hizmeti 443 (azcloudhsm_client istekler), 444 (azcloudhsm_mgmt_util istekler) ve 445 (sunucudan sunucuya iletişim) bağlantı noktalarını dinler.

Ön uç bağlantı noktaları TLS protokolü üzerinden TCP için 2224 ve 2225'tir. Bu bağlantı noktaları yalnızca müşterilere yöneliktir.