2011-10-24 26 views
5

मैंने जर्सी रीस्टफुल क्लाइंट्स को लिखा है जिन्होंने डंब X509TrustManager और HostnameVerifier का प्रयोग हमारे प्रयोगशाला प्रणालियों पर सभी एसएसएल कर्टों पर भरोसा करने के लिए किया है ताकि वे स्वयं हस्ताक्षरित किए गए कर्टों से निपटने में आसान हो सकें।सीएक्सएफ रीस्टफुल क्लाइंट - सभी कैर्टों पर भरोसा कैसे करें?

 ClientConfig config = new DefaultClientConfig(); 
     SSLContext context = null; 
     try 
     { 
      context = SSLContext.getInstance("SSL"); 
      context.init(null, 
        new TrustManager[] { new DumbX509TrustManager() }, 
        null); 
      config.getProperties() 
        .put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, 
          new HTTPSProperties(this.getHostnameVerifier(), 
            context)); 
      webClient = Client.create(config); 
     } 
     .... 

क्या मेरे लिए सीएक्सएफ का उपयोग करने के समान कुछ करने का कोई तरीका है?

उत्तर

6

यह सीएक्सएफ मेलिंग सूची से है। ध्यान दें कि मैं इसे अन्य सिस्टम अद्यतन की वजह से लागू करने के लिए नहीं था, तो यह सैद्धांतिक है:

WebClient webClient = WebClient.create(this.serviceURL, 
    this.username, 
    this.password, 
    null); // Spring config file - we don't use this 

if (trustAllCerts) 
{ 
    HTTPConduit conduit = WebClient.getConfig(webClient) 
     .getHttpConduit(); 

    TLSClientParameters params = 
     conduit.getTlsClientParameters(); 

    if (params == null) 
    { 
     params = new TLSClientParameters(); 
     conduit.setTlsClientParameters(params); 
    } 

    params.setTrustManagers(new TrustManager[] { new 
     DumbX509TrustManager() }); 

    params.setDisableCNCheck(true); 
} 
+0

[इस उत्तर] (http://stackoverflow.com/a/6755459/150992) विवरण आप कैसे हो सकता है एक डमी ट्रस्टमैनेजर स्थापित करें जो प्रमाण पत्र को अंधाधुंध स्वीकार करता है। (बेशक, आप शायद उत्पादन में ऐसा कुछ नहीं करना चाहते हैं) – Eyal