मैं nginx में ssl क्लाइंट प्रमाणीकरण सेटअप करने का प्रयास कर रहा हूं। मैंने एक स्व-हस्ताक्षरित रूट CA क्रिएट किया। उस का उपयोग करते हुए, मैंने एक उप-सीए बनाया। मैंने इस सब-सीए का उपयोग क्लाइंट के लिए प्रमाण पत्र बनाने के लिए किया था। मैंने उप-CA और रूट CA को एक नई फ़ाइल में सम्मिलित किया। मैंने ग्राहक प्रमाणपत्र को निम्नानुसार सत्यापित किया:
$ openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt
testcert.crt: OK
ऑर्टिकल- root.crt समसामयिक उप और रूट CA है; testcert.crt क्लाइंट प्रमाणपत्र है।
मैंने nginx को root-root.crt का उपयोग करने के लिए इंगित किया ssl_client_certificate
।
जब मैं testcert.crt प्रमाणपत्र का उपयोग करके HTTP अनुरोध करता हूं, तो nginx विफल हो जाता है। मैंने डिबग लॉग ऑन किया और निम्नलिखित देख सकता हूं:
2012/06/21 22:58:47 [debug] 8901#0: *2 verify:0, error:2, depth:1, subject:"/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA",issuer: "/C=US/ST=Florida/L=tampa/O=Test org/OU=Test OU/CN=Root TestCA"
2012/06/21 22:58:47 [debug] 8901#0: *2 verify:0, error:27, depth:1, subject:"/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA",issuer: "/C=US/ST=Florida/L=tampa/O=Test org/OU=Test OU/CN=Root TestCA"
2012/06/21 22:58:47 [debug] 8901#0: *2 verify:1, error:27, depth:0, subject:"/C=US/ST=Florida/L=Tampa/O=Accelerated Concepts/OU=NetBridge/CN=030202",issuer: "/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA"