Peter Meier
- Forum-Beiträge: 3
27.06.2013, 11:50:25 via Website
27.06.2013 11:50:25 via Website
Hey,
ich habe folgendes Problem: Ich habe eine App, die sich zu einem Webservice verbindet, dies geschieht mittel KSOAP2 und funktioniert auch alles wunderbar, solange ich per HTTP verbinde. Jetzt möchte ich aber per HTTPS und einem Zertifikat zum Webservice verbinden. Leider gibt die KSOAP Dokumentation nicht allzuviel her. Jedesmal wenn ich den Service mit call() aufrufe bekomme ich den SSLHandshakeError.
Das ist der Code:
Jemand eine Ahnung woran das liegen könnte?
Danke
ich habe folgendes Problem: Ich habe eine App, die sich zu einem Webservice verbindet, dies geschieht mittel KSOAP2 und funktioniert auch alles wunderbar, solange ich per HTTP verbinde. Jetzt möchte ich aber per HTTPS und einem Zertifikat zum Webservice verbinden. Leider gibt die KSOAP Dokumentation nicht allzuviel her. Jedesmal wenn ich den Service mit call() aufrufe bekomme ich den SSLHandshakeError.
Das ist der Code:
1TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
2
3 KeyStore keyStore = KeyStore.getInstance("BKS");
4 InputStream in = context.getResources().openRawResource(de.thm.telemonitoring_2_0.R.raw.test2);
5 try {
6 keyStore.load(in, "1234".toCharArray());
7 } catch (CertificateException e) {
8 // TODO Auto-generated catch block
9 e.printStackTrace();
10 } finally {
11 in.close();
12 }
13
14
15
16 tmf.init(keyStore);
17 SSLContext sslcontext = SSLContext.getInstance("SSL");
18 sslcontext.init(null, tmf.getTrustManagers(), null);
19
20
21 HttpsTransportSE transport = new HttpsTransportSE("SERVER",PORT,"FILE",TIMEOUT);
22 ((HttpsServiceConnectionSE) transport.getServiceConnection()).setSSLSocketFactory(sslcontext.getSocketFactory());
23
24 try {
25 transport.call("", envelope);
26 //response = envelope.getResponse();
27 //Log.w("WEBSERVICE", "call erfolgreich" + String.valueOf(response));
28 } catch (XmlPullParserException e) {
29 // TODO Auto-generated catch block
30 e.printStackTrace();
31 }
32
33 return null;
34 }
2
3 KeyStore keyStore = KeyStore.getInstance("BKS");
4 InputStream in = context.getResources().openRawResource(de.thm.telemonitoring_2_0.R.raw.test2);
5 try {
6 keyStore.load(in, "1234".toCharArray());
7 } catch (CertificateException e) {
8 // TODO Auto-generated catch block
9 e.printStackTrace();
10 } finally {
11 in.close();
12 }
13
14
15
16 tmf.init(keyStore);
17 SSLContext sslcontext = SSLContext.getInstance("SSL");
18 sslcontext.init(null, tmf.getTrustManagers(), null);
19
20
21 HttpsTransportSE transport = new HttpsTransportSE("SERVER",PORT,"FILE",TIMEOUT);
22 ((HttpsServiceConnectionSE) transport.getServiceConnection()).setSSLSocketFactory(sslcontext.getSocketFactory());
23
24 try {
25 transport.call("", envelope);
26 //response = envelope.getResponse();
27 //Log.w("WEBSERVICE", "call erfolgreich" + String.valueOf(response));
28 } catch (XmlPullParserException e) {
29 // TODO Auto-generated catch block
30 e.printStackTrace();
31 }
32
33 return null;
34 }
Jemand eine Ahnung woran das liegen könnte?
Danke
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.