मेरे पास एक श्रृंखला में तीन प्रमाण पत्र हैं:
- root.pem
- intermediate.pem
- john.pem
जब मैं उनकी जांच करता हूं तो openssl x509 -in [filename] -text -noout
वे ठीक दिखते हैं, root.pem ऐसा लगता है कि यह स्व-हस्ताक्षरित है (जारीकर्ता == विषय), और प्रत्येक प्रमाण पत्र का विषय अगले के जारीकर्ता है, जैसा कि अपेक्षित था।
और वास्तव में मैं मध्यवर्ती प्रमाणपत्र तक श्रृंखला को सत्यापित कर सकता हूं:
$ openssl verify -CAfile root.pem root.pem
root.pem: OK
$ openssl verify -CAfile root.pem intermediate.pem
intermediate.pem: OK
हालाँकि, john.pem विफल:
$ openssl verify -CAfile root.pem -CAfile intermediate.pem john.pem
john.pem: C = CL, [...redacted data...]
error 2 at 1 depth lookup:unable to get issuer certificate
मेरे ज्ञान का सबसे अच्छा करने के लिए, इसका मतलब है कि Opensl मध्यवर्ती के लिए जारीकर्ता खोजने में असमर्थ है। जिसका अर्थ यह नहीं है कि root.pem वास्तव में मध्यवर्ती के लिए जारीकर्ता है। pem।
मैं क्या खो रहा हूँ?
संपादित करें: मैंने मूल रूप से एक जवाब पोस्ट किया था जिसमें कहा गया था कि root.pem और इंटरमीडिएट। Pem को एक फ़ाइल में सम्मिलित किया जाना चाहिए, और फिर किसी को इस फ़ाइल को पैरामीटर के रूप में उपयोग करना चाहिए -CAfile
। यह गलत है, क्योंकि यह स्पष्ट रूप से मध्यवर्ती.पीएम पर भरोसा करता है, जैसा कि जोहान्स पिल बताते हैं। मेरे द्वारा हटाए गए उत्तर में वह लिंक पढ़ें: https://mail.python.org/pipermail/cryptography-dev/2016-August/000676.html