【问题标题】:How can WCF client detect that server requires security certificate?WCF 客户端如何检测到服务器需要安全证书?
【发布时间】:2012-02-25 14:07:36
【问题描述】:

WCF 客户端如何检测到服务器需要安全证书?检测应在运行时进行。

【问题讨论】:

    标签: wcf-security x509certificate


    【解决方案1】:

    要解决此类问题,我首先想到的是连接到该服务器并调用一个方法或类似的东西。将服务器调用放在 try-catch 块中,并在运行时读取消息。

    例如,我在我的一个应用程序中尝试了此操作,该应用程序与具有安全证书的服务器连接,删除了我的客户端中的证书部分。我遇到了这样的错误:

    The client certificate is not provided. Specify a client certificate in ClientCredentials.

    所以如果这个异常被捕获,你可以在运行时检测到服务器需要安全证书。

    可能有更多针对此问题的异常消息。另外,我不知道这是否是最好的方法。但它应该可以工作。

    【讨论】:

      【解决方案2】:

      您需要事先了解(设计时)。没有万无一失的方法可以在运行时知道这一点(您可以从错误消息中猜到,但这不是一个好主意。) 如果只需要在运行时决定这一点,那么客户端和服务器必须就他们自己的协议进行通信(例如操作 IsCertRequired)。

      【讨论】:

        猜你喜欢
        • 2010-12-23
        • 1970-01-01
        • 1970-01-01
        • 2012-01-28
        • 1970-01-01
        • 2011-12-16
        • 2015-08-17
        • 2010-11-19
        • 1970-01-01
        相关资源
        最近更新 更多