代码之家  ›  专栏  ›  技术社区  ›  David Kiff

不在客户端上安装WCF证书身份验证

  •  3
  • David Kiff  · 技术社区  · 17 年前

    我们的设置包括一个WCF服务和一些由我们编写的客户端。一些客户端包括Silverlight应用程序,而其他客户端包括Web和Windows应用程序。

    我(想)我想基于X.509证书对客户端进行身份验证。通常,您会在客户机上安装私钥来加密(也称为数字签名)消息。服务器可以使用客户机公钥对其进行解密,以确保消息未被更改,并证明消息来自我们期望的人(也称为已验证)。

    如果有人能给我举个例子就好了。

    提前感谢,,

    大卫

    2 回复  |  直到 17 年前
        1
  •  2
  •   Yuan    15 年前

    是的,你可以加载 X509certificate2 通过使用如下密码传递证书字节数组

    var certificate = new X509Certificate2(theByteArrary, "password");
    

    var channelFactory = new ChannelFactory<IYourService>();
    channelFactory.Credentials.ClientCertificate.Certificate = 
                                             clientCertificate;
    

    如果您使用自动生成的客户端代理,或者您更喜欢通过.config文件配置证书,那么您可能需要查看 this from codeproject

        2
  •  1
  •   Vlad    16 年前

    这里有一个建议。还可以调整为使用嵌入式证书。

    http://www.codeproject.com/KB/WCF/wcfcertificates.aspx