如何在 WCF 服务中读取客户端证书?
我在服务器上托管 WCF 服务,该服务要求客户端使用 x509 证书进行身份验证。我需要在服务内读取此证书,因为包含的数据是业务逻辑的一部分。
我用于 WCF 服务的绑定是 webHttpBinding,安全性设置为“Transport”,clientCredentialType="certificate"。
在 ASP.net 中,我可以使用 HttpContext.Current,但这在 WCF 中不可用。我该怎么做才能仍然从用户那里获取证书?
亲切的问候, 阿洛伊斯
I do host a WCF service on a server which requires the clients to authenticate using a x509 certificate. I need to read this certificate inside the service as the data contained is part of the business logic.
The binding I use for the WCF service is webHttpBinding with security set to "Transport" and clientCredentialType="certificate".
In ASP.net I can use the HttpContext.Current, which however is not available in WCF. What can I do to still get the certificate from the user?
Kind regards,
Alois
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 WCF 服务中使用它,并禁用 ASP.net 兼容性:
I use this in my WCF service, with ASP.net compatibility disabled:
关于 http://blogs.msdn.com/ 的文章b/wenlong/archive/2006/01/23/516041.aspx为我提供了这个问题的解决方案。 WCF 允许在“ASP.net 兼容模式”下运行,这会带回完整的 HttpContext 对象。
The article on http://blogs.msdn.com/b/wenlong/archive/2006/01/23/516041.aspx provided me with the solution to this problem. WCF allows to run in "ASP.net compatibility mode" which brings back the full HttpContext object.