private static void InicializaServico(System.Web.Services.Protocols.SoapHttpClientProtocol oServico, Parametro oParam) { X509Certificate2 certificadoX509 = Certificado.Carregar(oParam.certificado, oParam.tipoBuscaCertificado); oServico.ClientCertificates.Clear(); oServico.ClientCertificates.Add(certificadoX509); if (oParam.prx) { oServico.Proxy = new WebProxy(oParam.prxUrl, true); oServico.Proxy.Credentials = new NetworkCredential(oParam.prxUsr, oParam.prxPsw, oParam.prxDmn); } else { oServico.Credentials = System.Net.CredentialCache.DefaultCredentials; } oServico.Timeout = (int)oParam.timeout; oServico.InitializeLifetimeService(); // forçar aceitação de todos os certificados dos servidores da SEFAZ // independentemente de ter a cadeia de certificação instalada System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; if (oParam.versao == VersaoXML.NFe_v400) { //permitir somente o protocolo: TLS1.2 System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; } else { //permitir os protocolos: SSL3 TLS1.0 TLS1.1 TLS1.2 System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; } }