मेरे पास प्रति सप्ताह ~ 5 एसएसएल सीएसआर को संभालने का विशेषाधिकार है, कार्रवाई के लिए हमारे सीए को पास करने से पहले उनकी वैधता की जांच करना। मैं UbuntuSS मशीन पर OpenSSL का उपयोग यह जांचने के लिए करता हूं कि वे सही हैं, सही OU नाम, एक समझदार CN, कुंजी आकार> = 2048 बिट्स और इसी तरह की चीजों का परीक्षण, क्योंकि हमारे अनुरोध कभी-कभी गलत होते हैं।
दूसरे दिन मुझे IIS7 मशीन से नवीनीकरण का अनुरोध मिला । मैं यह पता नहीं लगा सकता कि ओपनएसएसएल का उपयोग करके इसे कैसे पढ़ा जाए। यह मान्य है, क्योंकि मेरे सीए ने इसे स्वीकार कर लिया है ...
'फाइल (1)' यह "RFC1421 सिक्योरिटी सर्टिफिकेट साइनिंग रिक्वेस्ट टेक्स्ट" कहती है, जो कि मेरे पास यहां मौजूद CSR के ~ 50% के लिए कहती है (बाकी "PEM सर्टिफिकेट रिक्वेस्ट" हैं)।
$ head iis7rcsr
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIQsQYJKoZIhvcNAQcCoIIQojCCEJ4CAQExCzAJBgUrDgMCGgUAMIIJegYJKoZI
hvcNAQcBoIIJawSCCWcwggljMIIIzAIBADCB2zELMAkGA1UEBhMCTloxDTALBgNV
BBEMBDkwNTQxDjAMBgNVBAgMBU90YWdvMRAwDgYDVQQHDAdEdW5lZGluMRwwGgYD
...
...
openssl req
, जो सीएसआर (पीकेसीएस # 10) को पढ़ता है, उसे समझने में विफल रहता है ...
$ openssl req -in iis7rcsr -text
unable to load X509 request
5156:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1316:
5156:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:380:Type=X509_REQ_INFO
5156:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:748:Field=req_info, Type=X509_REQ
5156:error:0906700D:PEM routines:PEM_ASN1_read_bio:ASN1 lib:pem_oth.c:83:
MSDN ब्लॉग पर एंड्रियास क्लेन का यह लेख बताता है कि IIS7 नवीकरण CSR एक PKCS # 7 कंटेनर है, जिसमें CSR और वर्तमान प्रमाण पत्र के आधार पर एक हस्ताक्षर है ... लेकिन मैं अभी भी इसे नहीं पढ़ सकता।
$ openssl pkcs7 -in iis7rcsr -text
unable to load PKCS7 object
6581:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:650:Expecting: PKCS7
मैं फ़ाइल को डीकोड करने के लिए 'ओपनएसएल बेस 64' का उपयोग कर सकता हूं, और परिणामस्वरूप बाइनरी फ़ाइल में मैं सीएसआर की तरह दिखने वाले तार और कुछ सीए संदर्भ देख सकता हूं जो पुराने प्रमाण पत्र के आधार पर हस्ताक्षर से आए होंगे। तो कंटेनर (सीएसआर, हस्ताक्षर) का विचार प्रशंसनीय लगता है।
लेकिन मुझे अभी भी सीएसआर पढ़ने का एक तरीका नहीं मिल रहा है जो वहां है! मैंने बहुत सी चीजों की कोशिश की है, मैं यहां विवरणों को सूचीबद्ध नहीं करूंगा, लेकिन यहां उन विविधताओं के उच्च बिंदु हैं जो मैंने कोशिश की हैं: pkcs12 pkcs7 PEM DER req x509 सत्यापित करें ...
मैं यहाँ दुर्भाग्य से CSR पोस्ट नहीं कर सकता। क्या कोई मुझे इस फ़ाइल को पढ़ने / सत्यापित करने के तरीके का पता लगाने में मदद कर सकता है?
openssl asn1parse
अनुरोध पढ़ सकते हैं, और वहां से मैं सामान्य CSR निकाल सकते हैं। मैं अभी तक स्व-उत्तर नहीं दे सकता हूं (इसे बहुत जल्दी हल कर दिया है) इसलिए मैं प्रश्न को हल के साथ अपडेट करूंगा, और फिर इसे कल ठीक कर दूंगा :-)