当前位置: 首页 > 编程语言 > C#

如何使用WCF服务临时停止证书错误分享

时间:2023-04-10 23:25:12 C#

C#学习教程:如何使用WCF服务临时停止证书错误在客户端,当我使用VS来“添加服务引用”时,一切正常。但是,当我尝试使用该服务时,出现错误,无法为具有权限的SSL/TLS安全通道建立信任关系**星号表示服务器的IP地址。反正服务器上有安全证书,只是为了测试自己生成的,暂时不关心证书错误。在客户端,已经为我生成了app.config,那么我需要更改哪些设置才能暂时忽略证书错误?设置CertificatePolicyPRIOR以初始化客户端上的WCF服务。这是如何(只需调用SetCertificatePolicy()方法一次)//////设置证书策略。///privatestaticvoidSetCertificatePolicy(){ServicePointManager.ServerCertificateValidationCallback+=ValidateRemoteCertificate;}//////证书验证回调///privatestaticboolValidateRemoteCertificate(objectsender,X509Certificatecert,X509Chainchain,SslPolicyErrorserror){if(error==SslPolicyErrors.None){returntrue;//alreadydeterminedtobevalid}switch(cStringert.GetCertHash){//thumbprints/hashesofallowedcertificates(uppercase)case"066CF9CAD814DE2097D368F22D3A7D398B87C4D6":case"5B82C96685E3A20079B8CE7AFA32554D55DB9611":Debug.WriteLine("TrustingX509Certificate'"+cert.Subject+"'");返回真;默认值:返回假;这对我有用。谢谢查看这个问题的答案:HowtotellWCFtoskipcertificatevalidation?它提供了两种可能的解决方案:1.仅在客户端使用配置条目或2.使用自定义证书验证器使用代码和配置条目修改web.config对我有用我使用SteveEllinger的回答和一些谷歌搜索来完成它。基本上,我必须:这是web.config片段......您也可以使用这个oneliner覆盖。ServicePointManager.ServerCertificateValidationCallback+=(sender,certificate,chain,errors)=>true;粘贴到Reference.cs生成的WCF客户端构造函数中即可以上是C#学习教程:如何使用WCF服务暂时停止证书如果错误分享的全部内容对你有用还需要了解更多关于C#学习教程,希望大家多多关注——[System.Diagnostics.DebuggerStepThroughAttribute()][System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel","4.0.0.0")]publicpartialclassWebQuoteServiceClient:System.ServiceModel.ClientBase,Corp.Legal.Webservices.ServiceReference1.IWebQuoteService{publicWebQuoteServiceClient(){ServicePointManager.ServerCertificateValidationCallback+=(sender,certificate,chain,errors)=>true;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: