سؤال

أنا في محاولة لجعل وهمية 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

هل فعلت شيئا خاطئا في توليد الملفات ؟

هل كانت مفيدة؟

المحلول

سوف ألخص ما لديك الإعداد:

  1. لديك "كاليفورنيا" شهادة موقعة ذاتيا.
  2. لديك MPS_cert الذي موقعة ذاتيا.
  3. لقد وقعت 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, الذي هو في حد ذاته موقعة ذاتيا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top