حالة OCSP غير معروفة عند تمرير الشهادة، وحالة جيدة عند تمرير التسلسل
-
20-12-2019 - |
سؤال
حسنًا، لدي نظام CA متعدد الطبقات يبدو كالتالي:
-ROOT_CA
----intermediate_CA
--------intermediate_CA2
------------شهادات العميل...
لدي مستجيب OCSP تم إعداده على middle_CA2 والذي بدأ على النحو التالي:
$ openssl ocsp -index intermedia_ca_2_index.txt -CA ca_crt_chain.crt -rsigner intermedia_ca_2.crt -rkey intermedia_ca_2.key -port xxxx -text
من جانب العميل، أقوم بتقديم طلب ocsp كما يلي:
$ openssl ocsp -issuer ca_crt_chain.crt -CAfile ca_crt_chain.crt -cert client.crt -text -host localhost:xxxx -verify_other... -trust_other
لاحظ أن Client.crt هو مجرد شهادة العميل، وليس السلسلة بأكملها، على الرغم من أنني جربت كلا الطريقتين ولم ينجح أي منهما.يعود دائما
Response verify OK
client.crt: unknown
إذا قمت بالتغيير -cert client.crt
ل -serial 0xXXXXXXXXX
(من الواضح تمرير مسلسل صالح يتوافق مع Client.crt) ثم يعمل كل شيء مع:
Response verify OK
0xXXXXXXXXX: good
ومن الغريب أنني إذا فحصت الطلب في المثال الأول، فهو بالفعل يرسل المسلسل الصحيح.
لا أستطيع أن أكتشف ذلك طوال حياتي.أيه أفكار؟
المحلول
لذا فإن الحل هو أن opensl ocsp على ما يبدو لا يحب الملفات المتسلسلة.لذا فإن استدعاء الخادم الخاص بي يبدو كما يلي الآن:
$ openssl ocsp -index intermedia_ca_2_index.txt -CA intermediate_ca_2.crt -rsigner intermedia_ca_2.crt -rkey intermedia_ca_2.key -port xxxx -text
لاحظ أنه سيكون من الأفضل أن يكون لديك زوج مفاتيح منفصل تمامًا للتوقيع، ولكن بدون.
سيبدو اتصال العميل كما يلي:
$ openssl ocsp -issuer intermediate_ca_2.crt -CApath /path/to/trust/store -cert client.crt -text -url http://localhost:xxxx