我认为在WCF身份验证的心智模型中存在差距,希望有人能帮助我填补这个缺口。
因此,我正在创建一个WCF服务,并希望客户端使用证书和消息级安全性进行身份验证。我希望服务使用链信任来验证这些内容,以便我不需要在服务上安装每个客户端证书。目前,我对服务向客户端进行身份验证不感兴趣。
以下是我对如何实现这一点的理解:
现在,我找到的所有这个过程的演示都包括创建一个服务证书的步骤。它们都没有解释这是干什么用的,这让我很困惑。如果我只想验证客户端,为什么需要服务证书呢?
因此,我正在创建一个WCF服务,并希望客户端使用证书和消息级安全性进行身份验证。我希望服务使用链信任来验证这些内容,以便我不需要在服务上安装每个客户端证书。目前,我对服务向客户端进行身份验证不感兴趣。
以下是我对如何实现这一点的理解:
- 客户端需要由服务端信任的CA签名的证书。
- 服务端需要安装该CA的CRL。
- 服务配置应启用消息安全性,指定clientCredentialType="Certificate",并使用链信任进行客户端证书验证。
- 客户端配置应启用消息安全性,指定clientCredentialType="Certificate",并指定一个终结点行为,告诉如何在存储库中查找客户端证书。
现在,我找到的所有这个过程的演示都包括创建一个服务证书的步骤。它们都没有解释这是干什么用的,这让我很困惑。如果我只想验证客户端,为什么需要服务证书呢?