Quantcast
Channel: Xamarin.Forms — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 89864

Problem Android HttpClient SSL certificate can't find path file.

$
0
0

Hello,
My compagnie have changed the certificate this week and since, android version of my app does not work anymore. The certificate work and it is an official certificate.

        public static async Task<Tuple<bool, string>> get(Dictionary<string, string> parameters, string key_url = "")
        {
            if (CrossConnectivity.Current.IsConnected)
            {
                // Return soit la liste en string get soit une chaine vide
                parameters.Add("device", Global.Device.UID);
                parameters.Add("version", Global.Version);
                parameters.Add("device_model", Global.Device.Model);
                parameters.Add("os_name", Global.Device.OSName);
                parameters.Add("os_version", Global.Device.OSVersion);
                parameters.Add("datetime", DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz"));
                if(Global.User != null && !parameters.ContainsKey("login"))
                {
                    parameters.Add("logon", Global.User.Login);
                    parameters.Add("login", Global.User.Login);
                }

                string s_parameters = convertParametersToString(parameters);

                //Debut de la requête
                //var handler = new ModernHttpClient.NativeMessageHandler();
                //handler.ClientCertificateOptions = ClientCertificateOption.Automatic;
                using (var client = new HttpClient() { Timeout = TimeSpan.FromSeconds(60) })//new ModernHttpClient.NativeMessageHandler()
                {
                    //client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", OAuth.token);
                    client.DefaultRequestHeaders.Host = Global.Url.Replace("https://", "").Replace("http://", "").Replace("/", "");
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    HttpResponseMessage response = new HttpResponseMessage();
                    try{

                        response = await client.GetAsync(Global.Url + key_url + "?" + s_parameters);
                    } catch (Exception exceptionss)
                    {
                        string testttt = "test";
                    }

                    string result = await response.Content.ReadAsStringAsync();

                    if (response.IsSuccessStatusCode)
                    {
                        return new Tuple<bool, string>(true, result);
                    }
                    else
                    {
                        if((int)response.StatusCode == 503)
                        {
                            return new Tuple<bool, string>(false, "503 : " + result);
                        }
                        else
                        {
                            return new Tuple<bool, string>(false, result);
                        }
                    }

                }
            }
            else
            {
                return new Tuple<bool, string>(false, "no internet");
            }
        }

**ERROR : **

{Javax.Net.Ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. ---> Java.Security.Cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. ---> Java.Security.Cert.CertPathValidatorException: Trust anchor for certification path not found.
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <3fd174ff54b146228c505f23cf75ce71>:0 at ModernHttpClient.NativeMessageHandler+<SendAsync>c__async0.MoveNext () [0x00428] in /Users/paul/code/paulcbetts/modernhttpclient/src/ModernHttpClient/Android/OkHttpNetworkHandler.cs:135 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <3fd174ff54b146228c505f23cf75ce71>:0 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <3fd174ff54b146228c505f23cf75ce71>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <3fd174ff54b146228c505f23cf75ce71>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <3fd174ff54b146228c505f23cf75ce71>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Net.Http.HttpClient+d__49.MoveNext () [0x000ca] in :0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <3fd174ff54b146228c505f23cf75ce71>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <3fd174ff54b146228c505f23cf75ce71>:0
at GestionnairesCopro.Models.WebService+d__0.MoveNext () [0x0022c] in /Users/msaunier/Documents/GestionnairesCopro/GestionnairesCopro/GestionnairesCopro/Models/WebService.cs:49
--- End of managed Javax.Net.Ssl.SSLHandshakeException stack trace ---
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
at com.squareup.okhttp.Connection.upgradeToTls(Connection.java:242)
at com.squareup.okhttp.Connection.connect(Connection.java:159)

Thanks for your help.


Viewing all articles
Browse latest Browse all 89864

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>