मैं सर्वर टीम द्वारा प्रदान की जाने वाली कीस्टोर का उपयोग कर सर्वर से कनेक्ट करने का प्रयास कर रहा हूं।एंड्रॉइड समर्थन .jks keystore प्रकार करता है?
सर्वर से सेवा कॉल भेजने जबकि पहले मैं निम्न API
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
इसे "बीकेएस" कुंजीस्टोर प्रकार लौटा रहा है का उपयोग करके KeyStore उदाहरण बनाया।
कुंजीस्टोर किस सर्वर टीम को भेजा गया है ".jks" (somename.jks) प्रकार है, इसलिए, मुझे अपवाद "कुंजी स्टोर का गलत संस्करण" मिल रहा है।
मैं
KeyStore keystore = KeyStore.getInstance("JKS");
निम्नलिखित तरीके से लेकिन यहाँ मैं हो रही है अपवाद "KeyStore JKS कार्यान्वयन नहीं मिला" द्वारा KeyStore की getInstance करने के लिए "JKS"() पारित करके की कोशिश की।
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
InputStream instream = mContext.getAssets().open("somename.jks");
try {
trustStore.load(instream, "password".toCharArray());
} finally {
try {
instream.close();
} catch(Exception ignore) {
}
}
कृपया मुझे इस समस्या को हल करने के लिए गाइड:
यहाँ कोड का टुकड़ा है।
"JKS" होगा पी, डिफ़ॉल्ट हो रहा है। यदि यह कीस्टोर प्रकार "jks" प्रकार है, तो कुंजी को एन्क्रिप्टेड PrivateKeyInfo के रूप में PKS # 8 मानक के अनुरूप एन्कोड किया जाना चाहिए। यहां से लिया गया http://developer.android.com/reference/java/security/KeyStore.html#getType() और http://developer.android.com/reference/javax/crypto/EncryptedPrivateKeyInfo.html –