首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在具有传输安全性的WCF调用中使用自签名客户端证书?

如何在具有传输安全性的WCF调用中使用自签名客户端证书?
EN

Stack Overflow用户
提问于 2014-06-18 15:58:57
回答 1查看 360关注 0票数 1

我有一个WCF服务(内部编写),使用WS绑定和传输安全性(SSL)。我们正在用客户证书和可接受证书的白名单对呼叫者进行身份验证(证书是带外提供给我们的)。因此,我们使用自定义验证器(例如,从System.IdentityModel.Selectors.X509CertificateValidator)派生的类来执行数据库查询以检查白名单。

它适用于以下情况:我们在开发中使用了一个根证书,由开发团队(使用OpenSSL)颁发。此根用户是可信的(例如,安装在托管WCF服务的服务器上的可信第三方CA证书存储中)。测试客户端被配置为呈现由此根用户签名的证书。这种情况的行为与预期一致。

在以下情况下,它不起作用:客户端向服务提供自签名证书。在这种情况下,客户端收到错误消息“HTTP请求被禁止使用客户端身份验证方案‘’匿名‘”,而且--这是奇怪的部分--服务的证书验证器甚至没有运行。我们没机会大拇指了。客户端证书被一个低于我们的验证器的层拒绝。

如何在我的服务中使用自签名客户端证书?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-18 15:59:31

在WCF中,WS传输安全性是SSL。我的错误是由于双方之间的SSL协商失败造成的。

此协商的正常情况如下:服务向客户端发送它信任的根证书列表。客户端检查此列表,发现服务器将发现可信任的证书并将其发送。

在我的错误情况下,客户端正在检查服务器列表并确定其证书不受信任。此时,客户端通常会尝试协商到匿名访问,这在我的情况下是禁止的,因此协商失败。

即使使用自定义验证模式,WCF也不支持WS-HTTP绑定+传输安全方案中由不受信任的CA颁发的自签名客户端证书或证书。它确实在消息安全方面支持此场景。我怀疑Net.TCP支持这个场景,但还没有进行测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24290135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档