WCF分布式开发常见错误(27):Secure channel cannot be opened

简介:
这个问题是周宏伟在调试 WCF分布式安全开发实践(12):消息安全模式之自定义X509证书验证:Message_CustomX509Certificate_WSHttpBinding 。发现并提出来的,我帮助调试,找到了问题的解决办法。发出来一起分享给大家。
【1.问题描述】:
    1.项目类型:IIS托管的WCF服务。
    2.安全类型: 消息安全模式+ 自定义X509证书验证。+WSHttpBinding :Message_CustomX509Certificate_WSHttpBinding
   3.客户端类型:ASP.NET 网站。
   4.错误信息: Secure channel cannot be opened because security negotiation with the remote endpoint has failed. This may be due to absent or incorrectly specified EndpointIdentity in the EndpointAddress used to create the channel. Please verify the EndpointIdentity specified or implied by the EndpointAddress correctly identifies the remote endpoint.
  安全通道无法打开,因为安全与远程终结点协商已经失败。这可能是由于在EndpointAddress 缺少或不正确指定用于创建通道的EndpointIdentity。请验证EndpointIdentity指定或暗示的EndpointAddress正确标识远程终结点。
   5.错误截图:
【2.问题分析】:
     导致这个问题的可能原因有2个:
(1)没有服务端配置安全选项。
(2)服务没有启动。
    网上的同样的问题也很多,但是没有什么帮助。这里针对2个Web类型的应用项目。在调试的时候容易出现这样的问题。
【3.解决方案】:
  原因(1):
         检查服务配置,证书设置:
 
             < wsHttpBinding >
                
< binding  name ="MyBindingConfigration" >
                    
< security  mode ="Message" >
                        
< transport  clientCredentialType ="None" />
                        
< message  clientCredentialType ="Certificate" />
                    
</ security >
                
</ binding >
            
</ wsHttpBinding >
     原因(2):由于一个解决方案里包含2个项目,所以要保证服务启动。步骤如下:
            这个问题的关键在于,你虽然设置了证书,这里错误提示是,与服务终结点协商失败,原因不是证书。
            是整数标识的服务,没有启动,导致协商错误。你右键-》Debug->启动新的实例,先把服务启动。
            然后在右键-》Debug->启动新的客户端项目实例。这样单步调试就通过了。
            我把证书名称换为我本机的证书,你记得根据自己的证书名称修改配置文件。
参考链接:

 本文转自 frankxulei 51CTO博客,原文链接:http://blog.51cto.com/frankxulei/320966 ,如需转载请自行联系原作者
相关文章
|
7月前
|
消息中间件 NoSQL Java
Java高级开发:高并发+分布式+高性能+Spring全家桶+性能优化
Java高架构师、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师之路
|
7月前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(一)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
91 0
|
2月前
|
NoSQL Java Redis
开发实战:使用Redisson实现分布式延时消息,订单30分钟关闭的另外一种实现!
本文详细介绍了 Redisson 延迟队列(DelayedQueue)的实现原理,包括基本使用、内部数据结构、基本流程、发送和获取延时消息以及初始化延时队列等内容。文章通过代码示例和流程图,逐步解析了延迟消息的发送、接收及处理机制,帮助读者深入了解 Redisson 延迟队列的工作原理。
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
50 1
|
7月前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
46 0
|
4月前
|
开发者 云计算 数据库
从桌面跃升至云端的华丽转身:深入解析如何运用WinForms与Azure的强大组合,解锁传统应用向现代化分布式系统演变的秘密,实现性能与安全性的双重飞跃——你不可不知的开发新模式
【8月更文挑战第31天】在数字化转型浪潮中,传统桌面应用面临新挑战。本文探讨如何融合Windows Forms(WinForms)与Microsoft Azure,助力应用向云端转型。通过Azure的虚拟机、容器及无服务器计算,可轻松解决性能瓶颈,满足全球用户需求。文中还提供了连接Azure数据库的示例代码,并介绍了集成Azure Storage和Functions的方法。尽管存在安全性、网络延迟及成本等问题,但合理设计架构可有效应对,帮助开发者构建高效可靠的现代应用。
33 0
|
7月前
|
分布式计算 负载均衡 Java
构建高可用性Java应用:介绍分布式系统设计与开发
构建高可用性Java应用:介绍分布式系统设计与开发
76 0
|
7月前
|
缓存 监控 负载均衡
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(数据缓存不一致分析)
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(数据缓存不一致分析)
132 2
|
7月前
|
存储 负载均衡 NoSQL
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
【分布式技术架构】「Tomcat技术专题」 探索Tomcat集群架构原理和开发分析指南
146 1
|
7月前
|
缓存 应用服务中间件 数据库
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
【分布式技术专题】「缓存解决方案」一文带领你好好认识一下企业级别的缓存技术解决方案的运作原理和开发实战(多级缓存设计分析)
159 1