2013-09-22 7 views
5

पर नहीं मिला है। मुझे https://free.temafon.ru के साथ https कनेक्शन स्थापित करने की आवश्यकता है, लेकिन मुझे Android 2.3 और उसके बाद CertPathValidatorException मिला है। मैंने किया क्या है।HttpsUrlConnection: प्रमाणीकरण पथ के लिए ट्रस्ट एंकर 2.3

  1. फ़ायरफ़ॉक्स के साथ https://free.temafon.ru से सभी कर्ट प्राप्त करें।
  2. टेम्पफ़ोन प्रमाणपत्र से रूट प्रमाणपत्र में अनुक्रम में कीस्टोर में आयात करें।
  3. Init ssl संदर्भ:

    अंतिम KeyStore कुंजीस्टोर = KeyStore.getInstance ("बीकेएस");

    keystore.load(getResources().openRawResource(R.raw.temafon), 
           "W0d3Uoa5PkED".toCharArray()); 
        final TrustManager trustManager = new TemafonTrustManager(keystore); 
    
        final SSLContext sslContext = SSLContext.getInstance("TLS"); 
        sslContext.init(null, new TrustManager[] { trustManager }, null); 
    
        HttpsURLConnection.setDefaultSSLSocketFactory(sslContext 
          .getSocketFactory()); 
    

    यहाँ, मैं, custom TrustManager का उपयोग सर्वर गलत क्रम में प्रमाणपत्र भेजता है।

इस कोड को एंड्रॉयड 4.0 पर ठीक काम करता है, लेकिन java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. साथ 2.3 पर विफल रही, तो मैं क्या कर रहा हूँ whrong?

मैंने एक परीक्षण परियोजना बनाई है, जिसे here मिल सकता है।

+0

क्या आपको इसका समाधान मिला? मैं एक ही समस्या से निपट रहा हूँ। – jimbob

+0

दुर्भाग्यवश नहीं, मैं 2.3 के लिए सभी कर्ट स्वीकार करने के साथ समाप्त हुआ। – Bracadabra

उत्तर

0

जब आप कहते हैं कि आपने फ़ायरफ़ॉक्स के साथ सभी प्रमाणपत्रों को पकड़ लिया है, तो क्या आपने रूट सीए भी शामिल किया है?

अधिकतर, एंड्रॉइड 2.3 में रूट सीए स्थापित नहीं है। इस link,

इस मामले में, SSLHandshakeException तब होता है क्योंकि आपके पास एक CA है जो सिस्टम द्वारा विश्वसनीय नहीं है। ऐसा इसलिए हो सकता है क्योंकि आपके पास एक नए सीए से प्रमाणपत्र है जो अभी तक एंड्रॉइड द्वारा विश्वसनीय नहीं है या आपका ऐप CA के बिना पुराने संस्करण पर चल रहा है।

+0

मैं मानता हूं कि एंड्रॉइड 2.3 में रूट सीए नहीं है, लेकिन मैं सभी कॉर्ट चेन लेता हूं और इसे कस्टम ट्रस्ट स्टोर में जोड़ता हूं। – Bracadabra

संबंधित मुद्दे