java - चार्टर्ड अकाउंटेंट कोर्स फीस



केवल एक सीए प्रमाण पत्र के साथ SSLContext का उपयोग करना और कोई भी कुंजीस्टोर नहीं है (1)

जर्सी-क्लाइंट अनुप्रयोग में उपयोग के लिए मुझे एक javax.net.ssl.SSLContext सेटअप करने की आवश्यकता है I मैं जो सभी करना चाहता हूं वह कस्टम रूट सएरा प्रमाण पत्र स्वीकार करने के लिए संदर्भ है। क्या सचमुच सच है कि मुख्य रूप से फ़ाइल बनाने और सीए प्रमाणपत्र आयात करने का कोई रास्ता नहीं है?

https://ffff65535.com


क्या सचमुच सच है कि मुख्य रूप से फ़ाइल बनाने और सीए प्रमाणपत्र आयात करने का कोई रास्ता नहीं है?

यह एक प्रमुख स्टार्स फ़ाइल के बिना करने का तरीका है, लेकिन जब से आपको CA प्रमाणपत्र को एक या दूसरे पर भरोसा करना है, तो आपको किसी फ़ाइल या संसाधन को लोड करना होगा।

(आप निश्चित रूप से अपने TrustManager को भी लागू कर सकते हैं TrustManager कि सभी कॉल को TrustManager एपीआई का उपयोग किए बिना, प्रमाणन पथ एपीआई का उपयोग करने में सक्षम बनाता है, लेकिन इससे आपके कोड की जटिलता में वृद्धि होगी, इसे कम नहीं करना होगा। आपको यह भी समझना होगा यह सही ढंग से करने के लिए जावा पीकेआई प्रोग्रामर की गाइड है।)

अगर आप वास्तव में एक कुंजीस्टोर फ़ाइल नहीं चाहते हैं, तो आप मेमोरी में कीस्टोर एपीआई का उपयोग कर सकते हैं और सीधे प्रमाणपत्र को लोड कर सकते हैं।

इन पंक्तियों के साथ कुछ काम करना चाहिए (परीक्षण नहीं किया गया है):

InputStream is = new FileInputStream("cacert.crt");
// You could get a resource as a stream instead.

CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate caCert = (X509Certificate)cf.generateCertificate(is);

TrustManagerFactory tmf = TrustManagerFactory
    .getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null); // You don't need the KeyStore instance to come from a file.
ks.setCertificateEntry("caCert", caCert);

tmf.init(ks);

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, tmf.getTrustManagers(), null);

(सब कुछ बंद करना और अपवादों को संभालना याद रखना।)

प्रमाणपत्र को इस तरह से लोड करना या एक कुंजीस्टोर फ़ाइल से एक समान कीस्टोर इंस्टेंस में प्रमाणपत्र लोड करना अधिक सुविधाजनक है, यह तय करने के लिए आपके ऊपर है





jersey-client