0

I'm getting exception reports from some devices that seem to indicate an issue (perhaps in regards to the Root Cert?) with a new SSL certificate that recently replaced an old one.

I'm consuming an HTTPS web service from Xamarin.Android.

The inner exception message is:

Invalid certificate received from server. Error code: 0xffffffff800b010f

Type: Mono.Security.Protocol.Tls.TlsException

The inner stacktrace:

at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (System.IAsyncResult asyncResult) [0x00037] in <38886d9bdf1645fe964e888ca7d23cc4>:0 \n  at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (System.IAsyncResult ar, System.Boolean ignoreEmpty) [0x00000] in <38886d9bdf1645fe964e888ca7d23cc4>:0 \n  at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (System.IAsyncResult result) [0x00071] in <38886d9bdf1645fe964e888ca7d23cc4>:0

Outer exception:

System.IO.IOException
The authentication or decryption has failed.
at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (System.IAsyncResult result) [0x00032] in <38886d9bdf1645fe964e888ca7d23cc4>:0 \n  at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (System.IAsyncResult asyncResult) [0x0000c] in <38886d9bdf1645fe964e888ca7d23cc4>:0

This particular example is happening on a Samsung Galaxy A5 with Android 7.0. I'd have thought that Digicert Root certificates would be OK on such a device? What else could it be and is there a chance that it could be a transient fault?

Le-roy Staines
  • 2,037
  • 2
  • 22
  • 40
  • Mono [version](https://stackoverflow.com/questions/43543273/invalid-certificate-received-from-server-error-code-0xffffffff800b010a-mono)? – Robbit Apr 19 '18 at 09:12
  • Wouldn't that make it fail for everyone, if that was the problem? – Le-roy Staines Apr 19 '18 at 09:27
  • Sorry, I thought maybe that's your mono's version is lower. Does it only happen on Samsung Galaxy A5 with Android 7.0? Could you please tell me how can I reproduce your problem? – Robbit Apr 19 '18 at 09:41
  • It's happened on four or five device models now. Unfortunately I cannot reproduce the problem (it's being caught by a third party exception reporting framework). I checked my Mono.Android version was 4.0.3 so I'm upgrading to the latest 4.8 in any case. – Le-roy Staines Apr 19 '18 at 09:46
  • Hi, I don't think Mono.Android version is Mono version, my Mono.Android version is also 4.0.3, I need search more. – Robbit Apr 19 '18 at 10:02
  • Yeah I think you're right; I can't figure out how to go any higher than that either.. – Le-roy Staines Apr 19 '18 at 10:05
  • Hi, sorry, I think I have misled you, in Xamarin.Android, mono.android should be substitute for mono, at the same mono.touch is substitute for mono in Xamarin.Ios. I am so sorry for misleading you. The link I have provided, it's not Xamarin.Android. Sorry! But [here](https://developer.xamarin.com/releases/android/xamarin.android_8/xamarin.android_8.0/) are mono.android version, and [here](https://forums.xamarin.com/discussion/7755/how-to-change-version-of-mono-android-reference) is how to change it. Maybe you can try it. – Robbit Apr 19 '18 at 10:15
  • Ha! That link "how to change it" is my question from years ago :) – Le-roy Staines Apr 19 '18 at 10:20
  • So [this](https://stackoverflow.com/questions/28276182/invalid-certificate-received-from-server-xamarin-android) also can't solve your problem? Maybe you can edit your question with the link what you have tried, so I will ignore it. And it will be better if there is a demo for your question. – Robbit Apr 19 '18 at 10:32
  • I'm not too sure if it solves the underlying problem. I've updated it and launched; only time will tell. – Le-roy Staines Apr 20 '18 at 10:56

0 Answers0