代码之家  ›  专栏  ›  技术社区  ›  Rory

.NET在Web服务调用中使用客户端证书的示例?

  •  7
  • Rory  · 技术社区  · 16 年前

    我想使用客户端证书来验证我的Web服务的管理调用方的身份。然后我只能向我想打电话给我的网络服务的人颁发证书,并且非常确定没有其他人可以打电话给它。这是一个非常可控的场景,只有一两个人可以获得客户机证书,因此分发不是一个难题。

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

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

    谢谢你的建议!

    1 回复  |  直到 16 年前
        1
  •  5
  •   Joe    16 年前

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

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