ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تساعدك هذه المقالة على استكشاف المشكلات والأخطاء الشائعة التي قد تواجهها عند استخدام خدمة Azure Cloud HSM وإصلاحها.
رسائل الخطأ الشائعة
تجيب الأقسام التالية على الأسئلة حول الأخطاء الشائعة، بما في ذلك الأخطاء المتعلقة بالأجهزة الظاهرية (VMs) ووحدات أمان الأجهزة (HSMs).
لماذا أتلقى رسالة الخطأ "خطأ الشهادة: [فشل توقيع الشهادة]" عند تشغيل azcloudhsm_mgmt_util؟
يمكن أن يحدث هذا الخطأ عند اتخاذ الخطوات التالية:
- إنشاء وتهيئة توزيع Azure Cloud HSM من جهاز ظاهري آخر.
- حاول تثبيت Cloud HSM Client SDK وتشغيله من جهاز ظاهري آخر مفقود أو لا يحتوي على الملف الصحيح
PO.crt
من الجهاز الظاهري للمسؤول الذي قمت بتهيئة منه.
إذا قمت بنسخ PO.crt
الملف من الجهاز الظاهري للمسؤول إلى الجهاز الظاهري الجديد وإعادة تشغيل azcloudhsm_mgmt_util
، يجب أن ترى اتصالا ناجحا ب HSM الخاص بك.
لماذا أتلقى رسالة الخطأ "INF: shutdown_ssl_socket: SSL_shutdown إرسال تنبيه close_notify" عند تشغيل azcloudhsm_client؟
يمكن أن يحدث هذا الخطأ عند اتخاذ الخطوات التالية:
- إنشاء وتهيئة توزيع Azure Cloud HSM من جهاز ظاهري آخر.
- حاول تثبيت Cloud HSM Client SDK وتشغيله من جهاز ظاهري آخر مفقود أو لا يحتوي على الملف الصحيح
PO.crt
من الجهاز الظاهري للمسؤول الذي قمت بتهيئة منه.
إذا قمت بنسخ PO.crt
الملف من الجهاز الظاهري للمسؤول إلى الجهاز الظاهري الجديد وإعادة تشغيل azcloudhsm_client
، يجب أن ترى اتصالا ناجحا ب HSM الخاص بك.
لماذا أتلقى رسالة الخطأ "azcloudhsm_application.cfg غير موجود"؟
لضمان التنفيذ الناجح للتطبيق الخاص بك، يجب عليك تلبية هذين الشرطين:
الملف
azcloudhsm_application.cfg
موجود في نفس الدليل مثل التطبيق الخاص بك.الأداة
azcloudhsm_client
قيد التشغيل. إذاazcloudhsm_client
لم يكن نشطا، فستواجه اتصال مأخذ توصيل فاشل.وبالمثل، يؤدي عدم وجود الملف إلى
azcloudhsm_application.cfg
ظهور رسالة خطأ. اعتمادا على موقع تنفيذ التطبيق الخاص بك، قد تحتاج إلى نسخazcloudhsm_application.cfg
الملف من دليل Azure Cloud HSM SDK إلى الدليل حيث تقوم بتشغيل التطبيق الخاص بك.
محرك OpenSSL ل Azure Cloud HSM
هل يدعم محرك OpenSSL ل Azure Cloud HSM Windows؟
لا. يدعم محرك OpenSSL ل Azure Cloud HSM Linux (Ubuntu 20.04 وUbuntu 22.04 و RHEL 7 و RHEL 8 و CBL Mariner 2) فقط.
لماذا تظهر لي رسالة الخطأ "تعذر على المحرك غير الصالح "azcloudhsm_openssl" تحميل المكتبة المشتركة"؟
تشير رسالة الخطأ إلى عدم تكوين متغير LD_LIBRARY_PATH
البيئة للمتطلبات الأساسية. هذا التكوين ضروري.
LD_LIBRARY_PATH
قم بتعيين متغير البيئة إلى الدليل حيث يوجد Azure Cloud HSM SDK.
يجب تحديث متغيرات البيئة الخاصة بك لتعكس إصدار SDK الصحيح عن طريق تشغيل هذا الأمر:
export LD_LIBRARY_PATH=/opt/azurecloudhsm/lib64/:$LD_LIBRARY_PATH
لماذا أتلقى رسالة الخطأ "لم يتم تعيين متغير البيئة azcloudhsm_openssl_conf"؟
تشير رسالة الخطأ إلى عدم تكوين متغير azcloudhsm_openssl_conf
البيئة للمتطلبات الأساسية.
azcloudhsm_openssl_conf
تعيين متغير البيئة إلى موقع مسار الملف الخاص بالملف الخاص بك azcloudhsm_openssl_dynamic.conf
داخل دليل Azure Cloud HSM SDK.
يجب تحديث متغيرات البيئة الخاصة بك لتعكس إصدار SDK الصحيح عن طريق تشغيل هذا الأمر:
export azcloudhsm_openssl_conf=/opt/azurecloudhsm/bin/azcloudhsm_openssl_dynamic.conf
لماذا أتلقى رسالة الخطأ "لم يتم تعيين متغير البيئة azcloudhsm_password"؟
تشير رسالة الخطأ إلى عدم تكوين متغير azcloudhsm_password
البيئة للمتطلبات الأساسية.
azcloudhsm_password
تعيين متغير البيئة إلى قيمة cryptouser:password
.
يجب تحديث متغيرات البيئة الخاصة بك لتعكس مستخدم التشفير الصحيح وكلمة المرور:
export azcloudhsm_password="cu1:user1234"
موفر JCE ل Azure Cloud HSM
تجيب الأقسام التالية على الأسئلة المتعلقة بملحق تشفير Java (JCE).
هل يدعم تكامل JCE مع Azure Cloud HSM Windows؟
لا. يدعم تكامل JCE مع Azure Cloud HSM Linux (Ubuntu 20.04، Ubuntu 22.04، RHEL 7، RHEL 8، CBL Mariner 2) فقط.
لماذا أتلقى رسالة الخطأ "تعذر العثور على بيانات الاعتماد لتسجيل الدخول إلى HSM"؟
يشير الخطأ إلى وجود تحد في تحديد موقع بيانات الاعتماد المطلوبة لتسجيل الدخول إلى Cloud HSM أو مصادقتها. عند استخدام العينات في هذه الوثائق أو دمج موفر JCE ل Azure Cloud HSM في تطبيقاتك، من الضروري تسجيل الدخول بشكل صريح باستخدام بيانات الاعتماد:
// Explicit Login with Credentials
LoginManager lm=LoginManager.getInstance();
lm.login("PARTITION_1","cu1","user1234");
// Logout of the HSM
lm.logout();
لماذا أتلقى رسالة الخطأ "سمة بقيمة 0 لهذه العملية؟ يجب تعيين السمة ل User KEK"؟
يشير الخطأ إلى أنه لم يتم إنشاء مفتاح تشفير مفتاح تم إنشاؤه بواسطة المستخدم (KEK) وتعيينه على أنه قابل للاستخراج، وتم wrap_with_trusted
تعيينه إلى 1. للحصول على الإعدادات المناسبة لاستخدامها عند إجراء استيراد المفتاح والتفاف المفتاح وعمليات فك المفتاح، راجع القسم حول إنشاء KEK الذي أنشأه المستخدم في دليل تكامل JCE.
لماذا أتلقى رسالة الخطأ "خطأ في اتصال مأخذ توصيل Daemon، فشل تسجيل الدخول إلى واجهة برمجة التطبيقات"؟
يشير الخطأ إلى وجود تحد في تحديد موقع بيانات الاعتماد المطلوبة لتسجيل الدخول إلى Cloud HSM أو مصادقتها. عند استخدام العينات في دليل تكامل JCE أو دمج موفر Azure Cloud HSM JCE في تطبيقاتك، من الضروري تسجيل الدخول بشكل صريح باستخدام بيانات الاعتماد لضمان الاتصال.
مكتبة PKCS#11 ل Azure Cloud HSM
لماذا أتلقى رسالة الخطأ "فشل C_Login مع رمز الخطأ: 0xa3"؟
0xa3
يشير الخطأ إلى فشل تسجيل الدخول. قد يكون الفشل مرتبطا بتنسيق معلمة PIN التي تمررها، أو قد يكون رمز PIN (كلمة المرور) غير صحيح.
يجب توفير رمز PIN بالتنسيق التالي: char pPin[256] = "crypto_user:user123";
.
pPin
يجب أن تتبع القيمة بنية <username>
:<password>
. تحقق من أنك توفر pPin
القيمة بهذا التنسيق، لأن أي انحراف قد يؤدي إلى فشل تسجيل الدخول.
لماذا أتلقى رسالة الخطأ "فشل C_Initialize() مع 00000005 (فشل توصيل مأخذ التوصيل)؟"؟
قد يكون اتصال مأخذ التوصيل الفاشل أثناء C_Initialize
مرتبطا بالأداة التي azcloudhsm_client
لا تعمل على النظام الخاص بك. لكي تعمل تطبيقات PKCS#11 بنجاح، azcloudhsm_client
يجب أن تكون قيد التشغيل. يمكنك البدء azcloudhsm_client
بتشغيل أحد الأوامر التالية في محطة طرفية منفصلة.
Linux (مستحسن)
إذا قمت بتثبيت Azure Cloud HSM SDK باستخدام DEB أو RPM، فلن يتم تكوين العميل تلقائيا للتشغيل كخدمة. يتضمن SDK، أثناء التثبيت، ملف وحدة خدمة ضمن /etc/systemd/system/azure-cloud-hsm.service
. لتمكين azcloudhsm_client
التشغيل كخدمة، استخدم الملف المحدد azure-cloud-hsm.service
مسبقا.
أعد تحميل systemd
التكوين وتمكين الخدمة للتأكد من أنها تعمل باستمرار. قم بإجراء الخطوات التالية:
افتح نافذة طرفية وغير الدليل إلى
/etc/systemd/system
، حيث يوجد ملف وحدة خدمة Cloud HSM:cd /etc/systemd/system
بدء تشغيل خدمة عميل Cloud HSM وتمكينها:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.service
تحقق من حالة خدمة عميل Cloud HSM:
sudo systemctl status azure-cloud-hsm.service
إعادة تحميل
systemd
التكوين:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (يدوي)
ابدأ تشغيل البرنامج الخفي للعميل إذا لم يكن قيد التشغيل:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
يمكنك أيضا اختيار تشغيل البرنامج الخفي للعميل في الخلفية باستخدام الأمر التالي. أو يمكنك تشغيل البرنامج الخفي للعميل كخدمة للتأكد من أنه قيد التشغيل دائما.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
Windows (مستحسن)
إذا قمت بتثبيت Azure Cloud HSM SDK باستخدام حزمة MSI، يتم تكوين العميل بالفعل للتشغيل كخدمة. إذا لم يكن العميل قيد التشغيل، يمكنك فتح Services.msc
، وانقر بزر الماوس الأيمن فوق Microsoft Azure Cloud HSM Client Service، ثم حدد Start.
Windows (يدوي)
ابدأ تشغيل البرنامج الخفي للعميل إذا لم يكن قيد التشغيل:
cd C:\Program Files\Microsoft Azure Cloud HSM Client SDK
.\azcloudhsm_client.exe .\azcloudhsm_resource.cfg
كيف تعرف مكتبة PKCS#11 ل Linux كيفية العثور على تكوين العميل؟
تعرف مكتبة PKCS#11 كيفية العثور على تكوين العميل لأنه يجب أن يكون لديك نسخة من شهادة مالك القسم (PO.crt
) على خادم التطبيق الذي يقوم بتشغيل التطبيق الخاص بك واستخدام مكتبة PKCS#11. بالإضافة إلى شهادة مالك القسم:
- يجب عليك التحديث
/azcloudhsm_client/azcloudhsm_client.cfg
على خادم التطبيق الذي تم تثبيت SDK عليه للإشارة إلى نشر Azure Cloud HSM (أي ).hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net
-
azcloudhsm_client
يجب تشغيل الأداة على خادم التطبيق الذي يتصل بنشر Azure Cloud HSM. - يجب تحديد رمز PIN داخل تطبيق PKCS#11 باستخدام بناء الجملة
<username>:<password>
. يتم استخدام رمز PIN هذا للاتصالC_Login
بنشر Azure Cloud HSM. - يجب تضمين
pkcs11_headers/include/cryptoki.h
وpkcs11_headers/include/pkcs11t.h
في تطبيق PKCS#11 لاستخدام مكتبة PKCS#11 ل Azure Cloud HSM.
كيف تعرف مكتبة PKCS#11 (azcloudhsm_pkcs11.dll) ل Windows كيفية العثور على تكوين العميل؟
azcloudhsm_pkcs11.dll
يعرف الملف في Azure Cloud HSM Windows SDK كيفية العثور على تكوين العميل لأنه يجب أن يكون لديك نسخة من شهادة مالك القسم (PO.crt
) على خادم التطبيق الذي يقوم بتشغيل التطبيق الخاص بك واستخدام مكتبة PKCS#11. بالإضافة إلى شهادة مالك القسم:
- يجب عليك التحديث
/azcloudhsm_client/azcloudhsm_client.cfg
على خادم التطبيق الذي تم تثبيت SDK عليه للإشارة إلى نشر Azure Cloud HSM (أي ).hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net
-
azcloudhsm_client
يجب تشغيل الأداة على خادم التطبيق الذي يتصل بنشر Azure Cloud HSM. - يجب تحديد رمز PIN داخل تطبيق PKCS#11 باستخدام بناء الجملة
<username>:<password>
. يتم استخدام رمز PIN هذا للاتصالC_Login
بنشر Azure Cloud HSM. - يجب تضمين
pkcs11_headers\include\cryptoki.h
وpkcs11_headers\include\pkcs11t.h
في تطبيق PKCS#11 لاستخدام مكتبة PKCS#11 ل Azure Cloud HSM.
لماذا أحصل على أخطاء PKCS#11 عند محاولة تعيين مفتاح أو مخزن مفاتيح؟
تأكد من تشغيل عميل Azure Cloud HSM (sudo ./azcloudhsm_client azcloudhsm_client.cfg
). قد يؤدي مستخدم غير صحيح أو كلمة مرور غير صحيحة أو عميل أمان سائل لا يعمل أو فشل العميل في الاتصال إلى الخطأ التالي:
Error Message:ERROR at line 1:
ORA-28407: Hardware Security Module failed with PKCS#11 error
CKR_GENERAL_ERROR(5)
كيف تتكامل مكتبة PKCS#11 (azcloudhsm_pkcs11.dll) مع OpenSC؟
يجب استخدام --sensitive
الوسيطتين و --private
عند استخدام أدوات البطاقة الذكية مفتوحة المصدر (OpenSC)، لأن السمات الحساسة والخاصة لا يمكن أن تكون 0
. بدون هذه الوسيطات، تعين أدوات OpenSC السمات الحساسة والخاصة إلى 0
. تنشئ هذه السمات استثناء، لأن Azure Cloud HSM يفرض دائما سلوكا حساسا وخاصة.
فيما يلي مثال على التفاف معيار التشفير المتقدم (AES):
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*
فيما يلي مثال على تشفير المنحنى الناقص (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 ل Azure Cloud HSM
تجيب الأقسام التالية على الأسئلة المتعلقة بإلغاء تحميل معالجة طبقة مآخذ التوصيل الآمنة (SSL) أو معالجة أمان طبقة النقل (TLS).
هل يدعم محرك OpenSSL ل Azure Cloud HSM PKCS#11 لإلغاء تحميل SSL/TLS؟
لا. لا يدعم محرك OpenSSL ل Azure Cloud HSM PKCS#11 لإلغاء تحميل SSL/TLS. يجب على العملاء الذين يحتاجون إلى PKCS#11 لإلغاء تحميل SSL/TLS استخدام مكتبة إلغاء تحميل TLS ل Azure Managed HSM.
لماذا أتلقى رسالة الخطأ "فشل توصيل مأخذ التوصيل، LIQUIDSECURITY: خطأ في اتصال مأخذ التوصيل الخفي" عند تشغيل azcloudhsm_util؟
تشير رسالة الخطأ إلى أن هذا azcloudhsm_client
لا يعمل. تأكد من تشغيل azcloudhsm_client
أدوات Azure Cloud HSM لتشغيلها بشكل صحيح. يمكنك البدء azcloudhsm_client
بالتأكد من أنه يعمل كخدمة أو عن طريق تشغيل أحد الأوامر التالية يدويا في محطة طرفية منفصلة.
Linux (مستحسن)
إذا قمت بتثبيت Azure Cloud HSM SDK باستخدام DEB أو RPM، فلن يتم تكوين العميل تلقائيا للتشغيل كخدمة. يتضمن SDK، أثناء التثبيت، ملف وحدة خدمة ضمن /etc/systemd/system/azure-cloud-hsm.service
. لتمكين azcloudhsm_client
التشغيل كخدمة، استخدم الملف المحدد azure-cloud-hsm.service
مسبقا.
أعد تحميل systemd
التكوين وتمكين الخدمة للتأكد من أنها تعمل باستمرار. قم بإجراء الخطوات التالية:
افتح نافذة طرفية وغير الدليل إلى
/etc/systemd/system
، حيث يوجد ملف وحدة خدمة Cloud HSM:cd /etc/systemd/system
بدء تشغيل خدمة عميل Cloud HSM وتمكينها:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.service
تحقق من حالة خدمة عميل Cloud HSM:
sudo systemctl status azure-cloud-hsm.service
إعادة تحميل
systemd
التكوين:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (يدوي)
ابدأ تشغيل البرنامج الخفي للعميل إذا لم يكن قيد التشغيل:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
يمكنك أيضا اختيار تشغيل البرنامج الخفي للعميل في الخلفية باستخدام الأمر التالي. أو يمكنك تشغيل البرنامج الخفي للعميل كخدمة للتأكد من أنه قيد التشغيل دائما.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
لماذا أتلقى رسالة الخطأ "لم يتم تعيين متغير البيئة azcloudhsm_password"؟
تشير رسالة الخطأ إلى عدم تكوين متغير azcloudhsm_password
البيئة للمتطلبات الأساسية. لحل هذه المشكلة، قم بتعيين azcloudhsm_password
متغير البيئة إلى قيمة cryptouser:password
.
تحديث متغيرات البيئة الخاصة بك لتعكس مستخدم التشفير الصحيح وكلمة المرور:
export azcloudhsm_password="cu1:user1234"
لماذا أتلقى رسالة الخطأ "لم يتم العثور على المفتاح/الرمز المميز" أو "مؤشر/رمز مميز غير صالح للمفتاح" عند محاولة استيراد مفتاح؟
تشير رسالة الخطأ إلى أن مقبض مفتاح الالتفاف المحدد (معرف مقبض KEK) غير صحيح. تحدد المعلمة -f
اسم الملف الذي يحتوي على المفتاح المراد استيراده، بينما -w
تحدد مقبض مفتاح الالتفاف. أثناء إنشاء KEK الذي أنشأه المستخدم، -w
يجب أن تكون القيمة معرف مقبض المفتاح لمعرف KEK الذي أنشأه المستخدم.
azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 importPrivateKey -l importTestKey -f key.pem -w 262150
لماذا أتلقى رسالة الخطأ "/configure: error: C compiler cc not found" عند محاولة تكوين مصادر NGINX؟
تشير رسالة الخطأ إلى أنك تفتقد المحول البرمجي C من النظام الخاص بك عند تشغيل configure
الأمر. اعتمادا على التثبيت الخاص بك، بعد تشغيل الأوامر التالية، قد تحتاج أيضا إلى تثبيت openssl libssl-dev
و zlib1g zlib1g-dev
. هذه العناصر هي تبعيات.
الأنظمة المستندة إلى Red Hat (باستخدام YUM)
sudo yum update
sudo yum groupinstall "Development Tools"
الأنظمة المستندة إلى Red Hat (باستخدام DNF)
sudo dnf update
sudo dnf install "Development Tools"
الأنظمة المستندة إلى Ubuntu (باستخدام APT)
sudo apt update
sudo apt install build-essential
لماذا أتلقى رسالة الخطأ "/configure: error: تتطلب وحدات SSL مكتبة OpenSSL"؟
تشير رسالة الخطأ إلى أن مكتبة OpenSSL مطلوبة لتمكين وحدات SSL النمطية ل NGINX. لحل هذه المشكلة، قم بتشغيل الأمر التالي ثم قم بتشغيل configure
مرة أخرى:
sudo apt-get install libssl-dev
لماذا أتلقى رسالة الخطأ "/configure: error: تتطلب الوحدة النمطية HTTP gzip مكتبة zlib"؟
تشير رسالة الخطأ إلى أن مكتبة zlib مطلوبة لوحدة HTTP gzip في NGINX. لحل هذه المشكلة، قم بتشغيل الأمر التالي ثم قم بتشغيل configure
مرة أخرى:
sudo apt-get install zlib1g-dev
لماذا أتلقى رسالة الخطأ "خطأ HSM: RET_USER_LOGIN_FAILURE"؟
تشير رسالة الخطأ إلى أن المستخدم المحدد غير موجود على عقدة واحدة أو أكثر حيث تحاول إجراء عملية تشفير. على الرغم من أن Azure Cloud HSM يعمل مع مجموعة من ثلاث عقد، تم توجيه العملية إلى عقدة حيث فشل تسجيل الدخول.
في مثل هذه الحالات، critical_err_info_
يتم إنشاء ملف داخل AzureCloudHSM-ClientSDK
الدليل. يعرض الملف "الحالة: خطأ HSM: هذا المستخدم غير موجود."
للتخفيف من هذا الخطأ، تحتاج إلى إنشاء مستخدم تشفير (CU) يتم نسخه نسخا متماثلا عبر جميع العقد الثلاث لتوزيع Azure Cloud HSM. يوضح المثال التالي البدء azcloudhsm_mgmt_util
والمسؤول الذي قام بتسجيل الدخول كمستخدم مسؤول تشفير (CO). ينشئ المثال بعد ذلك مستخدما cu1
بدور CU.
sudo ./azcloudhsm_mgmt_util ./azcloudhsm_mgmt_util.cfg
loginHSM CO admin adminpassword
createUser CU cu1 user1234
logoutHSM
loginHSM CU cu1 user1234
كيف يمكنني عرض محتويات CRT أو CSR أو ملف المفتاح الذي قمت بإنشائه؟
لعرض محتويات الشهادة (CRT) أو طلب توقيع الشهادة (CSR) أو ملف المفتاح الذي قمت بإنشائه في المحطة الطرفية، استخدم هذا الأمر:
cat filename.key
لعرض معلومات مفصلة حول شهادة X.509 الموجودة في ملف البريد المحسن للخصوصية (PEM)، استخدم الأمر التالي. إذا كان ملف PEM يحتوي على مفتاح خاص أو أنواع أخرى من البيانات، فقد تحتاج إلى ضبط الأمر وفقا لذلك.
openssl x509 -in filename.pem -text -noout
لعرض معلومات مفصلة حول CSR، استخدم الأمر التالي. تتضمن هذه المعلومات الموضوع والمفتاح العام وأي سمات مضمنة في الطلب.
openssl req -in filename.csr -text -noout
لعرض معلومات مفصلة حول المفتاح الخاص Rivest-Shamir-Adleman (RSA)، استخدم الأمر التالي. تتضمن هذه المعلومات معامل المفتاح والأسس العامة والمعلمات الأخرى.
openssl rsa -in filename.key -text -noout
لعرض معلومات مفصلة حول مفتاح خاص لمنحنى القطع الناقص (EC)، استخدم الأمر التالي. يعرض معلمات المنحنى وقيمة المفتاح الخاص ومعلومات أخرى ذات صلة.
openssl ec -in filename.key -text -noout
كيف يمكنني إنشاء زوج مفاتيح ED25519 في Azure Cloud HSM للتوزيع؟
عادة ما تستخدم مفاتيح ED25519 للشهادات الموقعة ذاتيا أو في عمليات توقيع الشهادة التي تستخدم المفتاح الخاص مباشرة. يمكنك إنشاء زوج مفاتيح ED25519 باستخدام azcloudhsm_util
أو محرك OpenSSL ل Azure Cloud HSM.
هام
لا نوصي باستخدام openssl genpkey
أو openssl ecparam
. لا ينتج عن استخدام openssl genpkey
أو openssl ecparam
مع -engine azcloudhsm_openssl
لإنشاء ED25519 أو مفتاح ECCKeyPair مفتاح HSM. بدلا من ذلك، فإنه ينشئ مفتاح برنامج. إذا كنت بحاجة إلى ED25519 أو أنواع مفاتيح EC أخرى، يجب عليك استخدام azcloudhsm_util
لإنشاء المفتاح داخل HSM.
Openssl genpkey
و openssl ecparam
هما أمران OpenSSL لإنشاء مفاتيح التشفير، ولكنهما يخدمان أغراضا مختلفة ويدعمان أنواع مفاتيح مختلفة. استخدم openssl genpkey
عندما تحتاج إلى إنشاء مجموعة واسعة من مفاتيح التشفير غير المتماثلة، بما في ذلك مفاتيح RSA وDSA وECDSA ED25519. استخدم openssl ecparam
خصيصا لإنشاء مفاتيح تشفير المنحنى الناقص (ECDSA)، مثل prime256v1 أو secp384r1 أو secp521r1.
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genECCKeyPair -i 28 -l labelED25519Test
هل يمكنني استخدام azcloudhsm_util لإنشاء مفاتيح RSA وEC قبل استخدام محرك Azure Cloud HSM OpenSSL لإنشاء CSR؟
نعم. يمكنك تشغيل الأوامر التالية azcloudhsm_util
لإنشاء مفتاح RSA أو EC ثم استخراج المفتاح الخاص إلى تنسيق PEM وهمية. استبدل {PRIVATE_KEY_HANDLE}
بمقبض المفتاح الخاص لمفتاح RSA أو EC الذي قمت بإنشائه.
لا يحتوي ملف بيانات تعريف المفتاح الخاص بتنسيق PEM على أي مواد مفاتيح خاصة حساسة. تعرف بيانات التعريف المفتاح الخاص، ويفهم هذا الملف فقط محرك OpenSSL ل Azure Cloud HSM.
استخدم هذا الأمر لإنشاء مفتاح 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
استخدم هذا الأمر لإنشاء مفتاح 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
SQL Server EKM ل Azure Cloud HSM
تجيب الأقسام التالية على الأسئلة المتعلقة بميزة Extensible Key Management (EKM) في SQL Server.
هل يدعم موفر SQL Server EKM ل Azure Cloud HSM المفاتيح المتماثلة؟
لا. لا يدعم SQL Server المفاتيح المتماثلة لتشفير البيانات الشفاف. يتم دعم المفاتيح غير المتماثلة فقط.
هل يدعم موفر SQL Server EKM ل Azure Cloud HSM SQL Server على Linux؟
لا. يدعم موفر SQL Server EKM ل Azure Cloud HSM Windows Server فقط.
هل يدعم موفر SQL Server EKM ل Azure Cloud HSM SQL Server SaaS/PaaS؟
لا. Azure Cloud HSM هي بنية أساسية كخدمة (IaaS) فقط. يجب على عملاء البرامج كخدمة (SaaS) أو النظام الأساسي كخدمة (PaaS) استخدام Azure Managed HSM، والذي يدعم تشفير البيانات الشفاف لقاعدة بيانات Azure SQL ومثيل Azure SQL المدار.
هل يدعم موفر SQL Server EKM ل Azure Cloud HSM عمليات تسجيل الدخول المتعددة وبيانات الاعتماد والاتصالات؟
بالنسبة لموفر SQL Server EKM ل Azure Cloud HSM، يكون تسجيل الدخول أو اتصال SQL محدودا ويمكن أن يكون له بيانات اعتماد واحدة معينة فقط.
لماذا أتلقى رسالة الخطأ "خطأ: لا يمكن تهيئة موفر التشفير. رمز خطأ الموفر: 1. (فشل - استشارة موفر EKM للحصول على التفاصيل)"؟
يمكن أن يحدث هذا الخطأ الشائع عند تشغيل حزمة MSI ل Azure Cloud HSM بعد تثبيت SQL Server. سيزول الخطأ عند إعادة تشغيل SQL Server. عند هذه النقطة، فإنه يلتقط متغيرات البيئة والإعدادات التي قمت بإنشائها عند تشغيل حزمة MSI ل Azure Cloud HSM.
تكامل AD CS مع Azure Cloud HSM
تجيب الأقسام التالية على الأسئلة المتعلقة بخدمات شهادات Active Directory (AD CS).
لماذا أحصل على رسالة الخطأ "لا يمكن فتح ملف openssl-ca.cnf" عندما أحاول ترحيل شهادة من Microsoft KSP باستخدام المثال المتوفر؟
يحدث هذا الخطأ عادة عندما openssl-ca.cnf
لا يكون الملف موجودا أثناء محاولة ترحيل شهادة من موفر تخزين مفتاح (KSP). يمكنك إنشاء الملف بنفسك أو الحصول عليه من مصدر آخر.
هل يمكنني استخدام خوادم التوقيع الخاصة بي في شبكة الشركة التي تستهلك Azure Cloud HSM كحل SaaS؟
Azure Cloud HSM هو IaaS فقط. ومع ذلك، يمكنك استخدام خوادم التوقيع الخاصة بك في شبكة شركتك.
يمكنك تكوين اتصال VPN من موقع إلى موقع أو من نقطة إلى موقع من بوابة الشبكة المحلية. هذا هو الأسلوب الأكثر شيوعا، وهو مناسب لمعظم حالات الاستخدام. قم بإعداد اتصال VPN بين الخوادم المحلية لشبكة شركتك والموقع الذي يتم نشر Azure Cloud HSM فيه. لمزيد من المعلومات، راجع البرنامج التعليمي: إنشاء اتصال VPN من موقع إلى موقع في مدخل Microsoft Azure.
يمكنك الحصول على AD CS لخوادم التوقيع المحلية. يجب أن يكون SDK على المضيف المحلي الخاص بك، ويجب أن يكون العميل قابلا للوصول إلى عناوين IP الخاصة في شبكة Azure الظاهرية. تنطبق المتطلبات التالية:
- تحتاج إلى التشغيل
azcloudhsm_client
على نفس الجهاز حيث يوجد موفر واجهة برمجة تطبيقات التشفير: الجيل التالي (CNG) ل Azure Cloud HSM. -
azcloudhsm_client
يجب أن تكون الأداة قادرة على الاتصال ب IPs الخاصة بشبكة Azure الظاهرية.
عندما اختبرنا AD CS، أنشأنا زوج مفاتيح RSA ثم استخدمنا إدارة الشهادات للتوقيع.
هل الطرق المقبولة الوحيدة للتوقيع أو التحقق من خلال موفري Cloud HSM (على سبيل المثال، azcloudhsm_util)؟
لا. توصيتنا هي استخدام Azure Cloud HSM SDK والواجهات (مثل PKCS#11 وCNG وKSP وJCE ومحرك OpenSSL) الذي يوفره. يمكنك أيضا استخدام أداة التوقيع (signtool.exe
) لعمليات التوقيع أو التحقق.
تم تكوين AD CS لاستخدام CNG أو KSP ل Azure Cloud HSM.
هل يمكنني استخدام التوقيع/التحقق من Cloud HSM عبر signtool.exe؟
نعم. تنتقل أداة التوقيع تلقائيا إلى توزيع Cloud HSM. ليست هناك حاجة لاستخدام azcloudhsm_util
. لقد قمنا بتضمين azcloudhsm_util
الإرشادات كطريقة للعملاء لاختبار تكوينات AD CS الخاصة بهم والتحقق من صحتها بسرعة.
هل يمكنني استخدام الشهادات الموقعة ذاتيا استنادا إلى زوج المفاتيح في Cloud HSM للاختبار؟
نعم. يمكنك استخدام الشهادات الموقعة ذاتيا استنادا إلى زوج المفاتيح لأغراض الاختبار.
هل هناك تكامل أو طريقة لتوفير الشهادات عبر مخزن شهادات Windows المحلي؟
يمكنك استخدام الأداة certreq.exe
لهذا الغرض.
ما الخوارزميات التي يدعمها موفرو CNG وKSP ل Azure Cloud HSM؟
- تشفير وفك تشفير RSA
- توقيع RSA مع خوارزميات تجزئة SHA1 وSHA256 وSHA384 وSHA512 وMD5
- منحنيات ECC ECDSA_P256 ECDSA_P384 ECDSA_P521
كيف يمكنني تغيير أذونات المفاتيح الخاصة للمستخدمين غير النظاميين أو إدارتها على Windows؟
عند إنشاء مفتاح باستخدام KSP أو CNG ل Azure Cloud HSM، يتم منح المسؤول فقط حق الوصول إلى المفتاح الخاص. قد تواجه صعوبات في عرض معلومات الأمان أو تعديل الأذونات عبر Microsoft Management Console (MMC). هذا السلوك مقصود.
بشكل افتراضي، عند استخدام KSP أو CNG، يقتصر الوصول إلى ملف المفتاح الخاص لمفتاح جديد على SYSTEM
المسؤولين و. إذا كنت بحاجة إلى توفير الوصول إلى مستخدم غير مسؤول لملف مفتاح خاص معين، فحدد اسم الملف للمفتاح الخاص وقم بتعيين الأذونات مباشرة. توجد المفاتيح الخاصة في الدليل C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP
على مفاتيح Windows for Cloud HSM.
ماذا azcloudhsm_ksp_import_key.exe تفعل؟
يمكنك استخدام azcloudhsm_ksp_import_key.exe
لاستيراد أو تمثيل مفاتيح غير متماثلة في Cloud HSM KSP.
الخوارزميات المدعومة هي RSA (2048 إلى 4096 في مضاعفات 256) وECDSA وECDH. بالنسبة إلى ECDSA وECDH، المنحنيات المدعومة هي P256 وP384 وP521. بعد استيراد مفتاح أو تمثيله في Cloud HSM KSP، يجب عليك إدارة المفتاح فقط من Cloud HSM KSP.
ما هي الطريقة الموصى بها للاتصال ب Cloud HSM من شبكة الشركة (مهام التشغيل/المسؤول)؟
يمكنك الاتصال من خلال شبكتك الظاهرية. استخدم هذه الأدوات:
- تنفذ
azcloudhsm_mgmt_util
الأداة العمليات (مهام المسؤول على HSM). يتطلب بيانات اعتماد مسؤول تشفير القسم (PCO). -
azcloudhsm_client
تتصل الأداة (البرنامج الخفي للعميل) عبر بيانات اعتماد مستخدم تشفير القسم (PCU).
azcloudhsm_client
تحتاج الأداة والتطبيق الخاص بك إلى التشغيل على نفس الجهاز الظاهري داخل الشبكة الظاهرية. والسبب هو أن التطبيق يتصل بعملية العميل عبر استدعاء الإجراء البعيد (RPC).
تستمع خدمة Azure Cloud HSM على المنفذ 443 (azcloudhsm_client
الطلبات) و444 (azcloudhsm_mgmt_util
الطلبات) و445 (الاتصال من خادم إلى خادم).
منافذ الواجهة الأمامية هي 2224 و2225 ل TCP عبر بروتوكول TLS. هذه المنافذ للعملاء فقط.