/ / X509 प्रमाणपत्र V3 - जावा, प्रमाण पत्र, x509cert सर्टिफिकेट की पुष्टि के लिए प्रक्रिया

X509 प्रमाणपत्र V3 - जावा, प्रमाणपत्र, x509 प्रमाण पत्र सत्यापित करने की प्रक्रिया

मुझे एक प्रोग्राम बनाने की आवश्यकता है जो मान्य होकिसी भी X509 सर्टिफिकेट वर्जन 3 को अगर यह विश्वसनीय है या हस्ताक्षर को सत्यापित करके नहीं दिया गया है। ऐसा करने के लिए, मुझे जारीकर्ता की सार्वजनिक कुंजी जानने में सक्षम होना चाहिए जिसने उस प्रमाण पत्र पर हस्ताक्षर किए हैं। मुझे पता है कि जारीकर्ता सूचना का उपयोग कैसे करें। getIssuerDN () विधि लेकिन मैं क्या नहीं जानता "है जारीकर्ता की सार्वजनिक कुंजी कैसे प्राप्त करें जब मैं केवल उसका नाम जानता हूं !

मेरे पास अभी तक एकमात्र समाधान एक बनाए रखना हैवेब पर सबसे आम प्रमाणपत्र अधिकारियों के लिए सार्वजनिक कुंजी की सूची, और बस इसके माध्यम से खोजें। हालांकि यह समाधान उल्लेखनीय है, लेकिन यह मेरे लिए अव्यावहारिक है।

इसलिए, क्या प्रमाण पत्र से सीधे जारीकर्ता की सार्वजनिक कुंजी प्राप्त करने और फिर सत्यापन की प्रक्रिया को पूरा करने के लिए एक और विचार है?

यहाँ जारीकर्ता का नाम प्राप्त करने के लिए मेरा कोड है, लेकिन इसकी सार्वजनिक कुंजी नहीं है।

    URL url = new URL("https link here!");
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
con.connect();

Certificate cert[] = con.getServerCertificates();
X509Certificate x509cert = (X509Certificate) cert[0];
String[] st= x509cert.getIssuerDN().toString().split(",");
System.out.println("Issuer CN is: "+st[0].toString());

उत्तर:

उत्तर № 1 के लिए 1

मुझे एक प्रोग्राम बनाने की आवश्यकता है जो मान्य होकिसी भी X509 सर्टिफिकेट वर्जन 3 को अगर यह विश्वसनीय है या हस्ताक्षर को सत्यापित करके नहीं दिया गया है। ऐसा करने के लिए, मुझे जारीकर्ता की सार्वजनिक कुंजी जानने में सक्षम होना चाहिए जिसने उस प्रमाण पत्र पर हस्ताक्षर किए हैं।

नहीं, आपको या जिसने भी आपको असाइनमेंट दिया है, वह PKI को नहीं समझता है। विचार यह है कि आप पहले से के आधार पर कुछ जारीकर्ताओं पर भरोसा करें पहले से ही उनके प्रमाण पत्र, उदा। जेआरई के साथ वितरित की कैस्केर्ट फ़ाइल में, और इसलिए उनकी सार्वजनिक कुंजी। यदि आपने जो प्रमाणपत्र सत्यापित करने के लिए कहा है, वह इन जारीकर्ताओं में से एक के लिए उपलब्ध है तथा यह अन्य सभी सत्यापन से गुजरता है, आप इस पर भरोसा कर सकते हैं। केवल सार्वजनिक कुंजी के माध्यम से सत्यापन पर्याप्त नहीं है।