سيئة بينسل شهادة
-
05-07-2019 - |
سؤال
أنا في محاولة لجعل وهمية CA التوقيع على شهادة للاستخدام مع stunnel (الذي يبدو لمجرد أن يكون داعيا بينسل الروتينية ، لذلك ربما لا تحتاج أن تعرف البرنامج إلى مساعدة :).ومع ذلك ، stunnel تحافظ على رفض شهادة قائلا أنه ليس وقعت مع المفتاح الصحيح!
هذا ما أنا على توليد مفاتيح بلدي و موتس مع بينسل:
openssl genrsa -out ca_key.pem 1024
openssl req -config ./root2.cfg -new -sha1 -x509 -key ca_key.pem -out ca_cert.pem -subj "/CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software"
openssl genrsa -out MPS_key.pem 1024
openssl req -config ./MPS2.cfg -new -sha1 -key MPS_key.pem -out MPS_cert_req.pem -subj "/CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software"
openssl x509 -req -in MPS_cert_req.pem -signkey ca_key.pem -out MPS_cert.pem -extensions MPS_ext
ثم stunnel.conf هذه المشاركة:
CAfile = ca_cert.pem
key = MPS_key.pem
cert = MPS_cert.pem
عندما أحاول بدء stunnel أحصل على عامة بينسل "مفتاح لا يطابق شهادة" خطأ:
2009.09.09 16:36:04 LOG3[492:172]: SSL_CTX_use_RSAPrivateKey_file: B080074: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
هل فعلت شيئا خاطئا في توليد الملفات ؟
المحلول
سوف ألخص ما لديك الإعداد:
- لديك "كاليفورنيا" شهادة موقعة ذاتيا.
- لديك MPS_cert الذي موقعة ذاتيا.
- لقد وقعت MPS_cert باستخدام مفتاح CA.
إذا كنت تقرأ مرجع OpenSSL هو x509 الأوامر (http://openssl.org/docs/apps/x509.html) سترى أن -signkey المعلمة يرشد بينسل الذاتي علامة الموردة الشهادة مع المفتاح الخاص.هذا هو لا ما تريد.
ما تريد القيام به هو إنشاء موقعة ذاتيا CA ومن ثم استخدام ذلك علامة المسؤولية الاجتماعية للشركات الخاصة بك وتوليد شهادة صالحة.
openssl verify ca_cert.pem
ca_cert.pem: /CN=blah.blah.com/OU=Dev blah CA/C=CA/ST=blah/L=blah/O=Blah Software
error 18 at 0 depth lookup:self signed certificate
OK
openssl verify MPS_cert.pem
MPS_cert.pem: /CN=blah.blah.com/OU=blah Certificate/C=CA/ST=blah/L=blah/O=Blah Software
error 18 at 0 depth lookup:self signed certificate
OK
الخيارات ذات الصلة هي -CA-كاكي ، set_serial
openssl x509 -CA ca_cert.pem -CAkey ca_key.pem -set_serial 1 -req -in MPS_cert_req.pem -out MPS_cert2.pem -days 365
وهذا ينبغي أن يؤدي الشهادة التي وقعت من قبل CA, الذي هو في حد ذاته موقعة ذاتيا.