如何在 WCF 服务中读取客户端证书?

发布于 2024-10-25 03:40:31 字数 271 浏览 5 评论 0原文

我在服务器上托管 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

叶落知秋 2024-11-01 03:40:32

我在 WCF 服务中使用它,并禁用 ASP.net 兼容性:

var x509ClaimSet = OperationContext.Current.ServiceSecurityContext.AuthorizationContext.ClaimSets.FirstOrDefault() as X509CertificateClaimSet;

I use this in my WCF service, with ASP.net compatibility disabled:

var x509ClaimSet = OperationContext.Current.ServiceSecurityContext.AuthorizationContext.ClaimSets.FirstOrDefault() as X509CertificateClaimSet;
岁吢 2024-11-01 03:40:31

关于 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文