So this is driving me crazy for 1 day now. I'm trying to talk to a REST API on xamarin.android but for some reason I get this error:
InnerException {Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.RemoteValidation (Mono.Security.Protocol.Tls.ClientContext context, AlertDescription description) [0x00000] in :0 at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in :0 at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in :0 at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in :0 at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in :0 at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in :0 } Mono.Security.Protocol.Tls.TlsException
After some research I found that this has to do with the missing certificate from the server I'm talking to (correct me if I'm wrong). So I added the SSL certificate to keychain on my Mac. I also ran the Mozilla command for installing the default certificates.
Unfortunately this still not works. On windows the connection with the API works like a charm. From what I read this is because windows got its own CA store and some default certificates.