我认为WCF身份验证的思维模型存在差距,希望有人可以帮助我填补这一空白。
因此,我正在创建WCF服务,并希望让客户端使用证书和消息级安全性进行身份验证。我希望该服务使用链信任来验证它们,以便不需要在该服务上安装的每个客户端证书。目前,我对让服务向客户端进行身份验证不感兴趣。
这是我对执行此操作所需的理解:
客户端向服务发出请求,发送其证书。该服务将看到客户端的证书已由其受信任的CA签名,并允许请求通过。
现在,我发现此过程的所有演练还包括为服务创建证书的步骤。他们都没有解释这是什么意思,这让我很不高兴。如果我只想对客户端进行身份验证,为什么需要服务证书?
最佳答案
你是对的。从理论上讲,不需要服务器证书,在实践中,wcf会强制您使用证书。好消息是,您应该为服务器使用虚拟证书,并将ProtectionLevel设置为SignOnly。我建议阅读this article,它讨论了类似的场景,并且最相关。
关于WCF-认证客户端是否需要服务证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11020818/