ssl - وفك - مثال على التشفير الغير متماثل




"لا تتطابق شهادة المفتاح العام والمفتاح الخاص" عند استخدام شهادة Godaddy الصادرة (4)

بالنسبة لي ، كان من السهل على خطوتين:

  1. قم بتحويل المفتاح الخاص إلى PEM:

    openssl rsa -in yourdomain.key -outform PEM

  2. قم بتحويل الشهادة وحزمة الشهادة إلى PEM :

    openssl x509 -inform PEM -in yourdomain.crt

    openssl x509 -inform PEM -in bundle.crt

أحاول تثبيت شهادة GoDaddy SSL على موازن تحميل جديد أقوم بإعداده على Amazon AWS. لقد قمت أصلاً بإنشاء الشهادة في Godaddy باستخدام برنامج keytool للتثبيت المباشر على خادم Glassfish 3.1 (Amazon linux ami). لم يكن لدي أي مشاكل في الحصول على هذا الإعداد مباشرة على الخادم. أنا الآن بحاجة إلى نقل الشهادة من خادم الويب إلى موازن التحميل الجديد. تتطلب Amazon أن يكون المفتاح الخاص والسير الذاتية بتنسيق PEM ، لذلك استخدمت أداة "rekey" في GoDaddy لإنشاء صور جديدة. عندما أقوم بتحميل تلك الموجودة في شاشة إعداد "موازن التحميل" على وحدة تحكم AWS Mgmt ، أتلقى رسالة الخطأ: "لا يتوافق مفتاح المفتاح العام والمفتاح الخاص."

إليك كيفية إنشاء المفاتيح:

$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr

ثم أرسل ملف .csr إلى GoDaddy أثناء عملية "rekey". بمجرد اكتمال rekey ، يمكنني تحميل 2 ceret تم إنشاؤه حديثا (apps.mydomain.com.crt & gd_bundle.crt). أقوم بتنزيلها بتحديد (Apache) كنوع الخادم (لقد حاولت أيضًا "الأخرى" و "Cpanel" ولكن يبدو أن كل شيء هو نفسه).

عند هذه النقطة ، أقوم بإزالة التشفير من ملف private.key باستخدام الأمر التالي:

$ openssl rsa -in private.key -out private.pem

عند هذه النقطة ، أعود إلى وحدة تحكم AWS Mgmt ، أنشئ موازن التحميل ، وأضف إعادة توجيه الخادم الآمن وأضع محتويات الملفات التالية في الحقول المعنية على الشاشة حيث تطلب إعداد شهادة ssl:

private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain

عندما أنقر على "زر المتابعة" أتلقى الخطأ "خطأ: لا يتوافق مفتاح المفتاح العام والمفتاح الخاص."

-هل هناك طريقة يمكنني اختبار أنني أتلقى رسالة خطأ صالحة من Amazon؟ يبدو غريبا بالنسبة لي أن المفاتيح لن تتطابق عندما أتبع تعليمات GoDaddy عن كثب.

لقد حاولت إنشاء ملف private.key بدون تشفير RSA قبل إنشاء .csr ولا يبدو أنه يحدث أي فرق.

أفترض أيضًا أن ملفات .crt التي أقوم بتنزيلها من GoDaddy موجودة بتنسيق .PEM ، لكنني لست متأكدًا من كيفية التحقق من ذلك.

أيه أفكار؟


فقط للتسجيل وأي شخص آخر يحاول معرفة ذلك:

yourdomain.key -> command terminal: sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem -> private key

yourdomain.crt -> مفتاح عام

gd_bundle.crt -> سلسلة الشهادات

وانك على ما يرام :)


واحد مسكتك قليلا. أنا باستخدام مربع ويندوز (وين 7 برو) وعندما كنت تستخدم منفذ ويندوز من OpenSSL ، كانت الملفات outputted أحرف نهاية السطر من نمط يونكس (LF).

واضطررت لتحويل الملف إلى نمط Windows (CRLF) لتحميل المفتاح الخاص.


يبدو أن المشكلة كانت الطريقة التي كنت نسخ محتويات المفتاح و certs إلى وحدة تحكم إدارة AWS. كنت أستخدم سطح مكتب Ubuntu الذي يعمل في Virtual Box على سطح مكتب Windows 7. نسخ ولصق القيم من شاشة gedit إلى المتصفح الذي يعمل على مربع Windows. بمجرد فتح ملفات المفتاح والشهادات على نفس الصندوق كمستعرض الويب (Windows في هذه الحالة) ، مرت الخزانات على ما يرام. أظن أن بعض أجزاء الملف لا تعمل بشكل صحيح عند استخدام لوحة القصاصات المشتركة بين عميل ومربع Virtual Box. القضية مغلقة.





ssl-certificate