diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs index 131ae5065a..30b548542e 100644 --- a/OpenSim/Framework/WebUtil.cs +++ b/OpenSim/Framework/WebUtil.cs @@ -33,6 +33,8 @@ using System.Globalization; using System.IO; using System.IO.Compression; using System.Net; +using System.Net.Security; +using System.Security.Cryptography.X509Certificates; using System.Reflection; using System.Text; using System.Web; @@ -92,6 +94,19 @@ namespace OpenSim.Framework /// public const int MaxRequestDiagLength = 200; + + public static bool ValidateServerCertificateNoChecks( + object sender, + X509Certificate certificate, + X509Chain chain, + SslPolicyErrors sslPolicyErrors) + { + sslPolicyErrors &= ~SslPolicyErrors.RemoteCertificateChainErrors; + sslPolicyErrors &= ~SslPolicyErrors.RemoteCertificateNameMismatch; + if (sslPolicyErrors == SslPolicyErrors.None) + return true; + return false; + } #region JSONRequest /// diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs index c690e8e164..3201a33030 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Voice/VivoxVoice/VivoxVoiceModule.cs @@ -1162,6 +1162,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice //m_log.DebugFormat("[VivoxVoice] Sending request <{0}>", requrl); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(requrl); + req.ServerCertificateValidationCallback = WebUtil.ValidateServerCertificateNoChecks; // vivox servers have invalid certs // We are sending just parameters, no content req.ContentLength = 0;