J'utilise ksoap2-android pour appeler le service wcf via SSL. Je peux le faire fonctionner sans SSL, mais maintenant je veux passer l'appel via SSL, mais j'ai rencontré des problèmes.Certificat de confiance utilisant ksoap2-android
J'utilise le HttpsTransportSE au lieu de HttpTransportSE, mais je me fais l'erreur: javax.net.ssl.SSLException: certificat de serveur non sécurisé
Comment puis-je résoudre ce problème? Puis-je ajouter le certificat de serveur au Keystore dans Android pour résoudre le problème?
private static final String SOAP_ACTION = "http://example.com/Service/GetInformation";
private static final String METHOD_NAME = "GetInformation";
private static final String NAMESPACE = "http://example.com";
private static final String URL = "dev.example.com/Service.svc";
public static Result GetInformation()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo property = new PropertyInfo();
property.name = "request";
Request request =
new Request("12", "13", "Ben");
userInformationProperty.setValue(request);
userInformationProperty.setType(request.getClass());
request.addProperty(property);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
envelope.addMapping(NAMESPACE, "Request",new Request().getClass());
HttpsTransportSE transport = new HttpsTransportSE(URL, 443, "", 1000);
//HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
transport.debug = true;
try
{
transport.call(SOAP_ACTION, envelope);
return Result.FromSoapResponse((SoapObject)envelope.getResponse());
}
catch (IOException e)
{
e.printStackTrace();
}
catch (XmlPullParserException e)
{
e.printStackTrace();
}
return null;
}
en utilisant votre première solution est plus ou moins la même chose que d'utiliser aucun SSL – Rafa