ฉันมีสิทธิ์จัดการ ~ 5 CSR SSL ต่อสัปดาห์ตรวจสอบความถูกต้องก่อนส่งต่อไปยัง CA เพื่อดำเนินการ ฉันใช้ OpenSSL บนเครื่อง Ubuntu เพื่อตรวจสอบว่าถูกต้องทดสอบสิ่งต่าง ๆ เช่นชื่อ OU ที่ถูกต้อง CN ที่สมเหตุสมผลขนาดคีย์> = 2048 บิตเป็นต้นเนื่องจากบางครั้งคำขอของเราไม่ถูกต้อง
วันก่อนฉันได้รับคำขอต่ออายุจากเครื่อง IIS7 ฉันไม่สามารถหาวิธีอ่านมันได้เลยโดยใช้ OpenSSL ถูกต้องเนื่องจาก CA ของฉันยอมรับ ...
'file (1)' กล่าวว่าเป็น "ข้อความคำขอการลงนามใบรับรองความปลอดภัย RFC1421" ซึ่งเป็นสิ่งที่ระบุไว้สำหรับ ~ 50% ของ CSR ที่ฉันมีที่นี่ (ที่เหลือคือ "คำขอใบรับรอง PEM")
$ head iis7rcsr
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIQsQYJKoZIhvcNAQcCoIIQojCCEJ4CAQExCzAJBgUrDgMCGgUAMIIJegYJKoZI
hvcNAQcBoIIJawSCCWcwggljMIIIzAIBADCB2zELMAkGA1UEBhMCTloxDTALBgNV
BBEMBDkwNTQxDjAMBgNVBAgMBU90YWdvMRAwDgYDVQQHDAdEdW5lZGluMRwwGgYD
...
...
openssl req
ซึ่งอ่าน CSRs (PKCS # 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:
บทความนี้จาก Andreas Klein บนบล็อก MSDNแสดงให้เห็นว่า IIS7 การต่ออายุ CSRs เป็นคอนเทนเนอร์ 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
ฉันสามารถใช้ 'openssl base64' เพื่อถอดรหัสไฟล์และในไฟล์ไบนารีผลลัพธ์ฉันสามารถเห็นสตริงที่ดูเหมือน CSR และการอ้างอิง CA บางอย่างที่ต้องมาจากลายเซ็นที่ขึ้นกับใบรับรองเก่า ดังนั้นแนวคิดของ container (CSR, signature) จึงเป็นไปได้
แต่ฉันยังไม่สามารถหาวิธีอ่าน CSR ที่อยู่ในนั้นได้! ฉันลองหลายสิ่งหลายอย่างแล้วฉันจะไม่แสดงรายการรายละเอียดที่นี่ แต่นี่คือจุดเปลี่ยนแปลงที่สูงที่สุดที่ฉันเคยลอง: pkcs12 pkcs7 PEM DER req x509 ตรวจสอบ ...
ฉันไม่สามารถโพสต์ CSR ได้ที่นี่อย่างน่าเสียดาย ใครสามารถช่วยฉันหาวิธีอ่าน / ตรวจสอบไฟล์นี้ได้บ้าง
openssl asn1parse
สามารถอ่านคำขอและจากนั้นฉันสามารถแยก CSR ปกติ ฉันยังไม่สามารถตอบตัวเองได้ (แก้ไขได้เร็วเกินไป) ดังนั้นฉันจะอัปเดตคำถามด้วยวิธีแก้ปัญหาแล้วแก้ไขในวันพรุ่งนี้ :-)