Ich entwickle eine .net-Kernanwendung, die REST-Anforderungen an die Trello-Website stellt. Bei der ersten Anfrage bekomme ich jedoch eine TlsException: Invalid certificate received from server
ausgelöst.So validieren Sie ein Zertifikat, das von einer Website in einer .net-Kernanwendung empfangen wurde
Nachdem ich diesen Fehler gegoogelt habe, habe ich einen Workaround gefunden, der die ServicePointManager.ServerCertificateValidationCallback
Methode verwendet. Mein Problem ist, dass ServicePointManager
nicht Teil von .net Kern ist. Was wäre der richtige Weg, Trellos Zertifikat zu validieren oder den Validierungsschritt in meiner Umgebung zu umgehen?
Hier ist der relevante Ausnahme-Stack-Trace:
TlsException: Invalid certificate received from server. Error code: 0xffffffff80092012
Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates)
Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1()
Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process()
(wrapper remoting-invoke-with-check) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process()
Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg)
Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult)
Rethrow as IOException: The authentication or decryption has failed.
Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult)
Rethrow as WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult)
System.Net.HttpWebRequest.GetResponse()
RestSharp.Http.GetRawResponse (System.Net.HttpWebRequest request)
Rethrow as WebException: Trello returned with an error.
Error Message: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure