如何使用WCF签署SOAP请求

Mr *_*ell 4 .net c# wcf .net-3.5

我有第三方SOAP Web服务.我需要调用它的一个方法.请求需要签名.我如何签署请求?

cas*_*One 6

我假设通过签名表示您使用安装在客户端的证书对邮件进行签名.

在WCF中这样做相对容易.假设您在安全元素中使用wsHttpBinding,则必须将模式设置为SecurityMode.Message.您还必须将message元素clientCredentialType设置为MessageCredentialType.Certificate.

然后,您必须设置端点行为并配置clientCertificate元素(clientCredentials元素的子元素)以指示客户端证书的存储位置.

即使您没有使用wsHttpBinding,当您希望使用客户端证书提供消息级安全性时,大多数其他绑定的配置也基本相同.

如果您通过HTTPS进行呼叫,请注意您必须将security元素的mode属性设置为Mode.TransportWithMessageCredential.