c# - .net 在 Web 服务调用中使用客户端证书的示例?

标签 c# web-services ssl asmx certificate

我想使用客户端证书来验证我的 Web 服务的管理调用者的身份。然后我可以只向我想调用我的 web 服务的人颁发证书,并且非常确定没有其他人可以调用它。这是在一个非常受控的场景中,只有一两个人会获得客户端证书,因此分发不是一个难题。

This article提供了一个很好的示例,说明如何使用客户端证书调用 Web 服务。

但是如何从我的 Web 服务中检查客户端证书的详细信息? This old article谈论配置 IIS 来执行此操作,但我想在我的应用程序中以编程方式执行此操作。我想?

感谢您的任何建议!

最佳答案

传入的请求有一个您可以查询的 ClientCertificates 集合——如果您想完全验证它,您可以检查证书中的各个字段或检查实际的原始字节数据(可能针对数据存储或其他来源)。

请注意,如果您从自己的私有(private) CA 颁发证书,则需要将 CA 的证书安装到您的网络服务器上的一个所有用户都可见的存储中,否则 IIS 不会向用户请求这些证书(由于服务器/客户端交互工作方式的性质。)

关于c# - .net 在 Web 服务调用中使用客户端证书的示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002174/

相关文章:

c# - 向派生类型添加属性

c# - 异步表达式C#

c# - 如何对齐标签中的文本

c# - IsMouseOver WPF 中的不透明度

java - wsimport 从 wsdl 生成空类 (pojo)

web-services - 关于正确 REST 设计的问题

Java keyTool - 将主要/次要中间证书 append 到 keystore

java - 是否可以使用 jax-ws 生成 xml,但不发送出去

ssl - SMTP 客户端如何确定是使用 Explicit 还是 Implicit SSL

mysql - 通过 SSL 将 phpMyAdmin 连接到 MySQL 服务器