Wcf 使用clickonce应用程序在客户端上打包和安装x509证书

Wcf 使用clickonce应用程序在客户端上打包和安装x509证书,wcf,Wcf,我刚刚开始为WCF服务编程,并为当地警察局启动并运行了我的第一个服务。他们将用这个来查找夜间违规停车的车牌。它运行消息安全性和x509加密证书 是否有一种方法可以将证书与安装一起打包,或者让服务根据我使用的身份验证创建证书并将其下载到客户端? 现在,我将在每一本难懂的书上手动安装它,但我想让这个过程更加自动化。证书分发是大多数企业it部门的标准任务,修改CA根目录的应用程序有些忌讳 如果要将服务器证书的公钥推送到每个客户端,请参阅。如果您正在谈论创建用于相互TLS身份验证的客户端证书,请参阅

我刚刚开始为WCF服务编程,并为当地警察局启动并运行了我的第一个服务。他们将用这个来查找夜间违规停车的车牌。它运行消息安全性和x509加密证书

是否有一种方法可以将证书与安装一起打包,或者让服务根据我使用的身份验证创建证书并将其下载到客户端?


现在,我将在每一本难懂的书上手动安装它,但我想让这个过程更加自动化。

证书分发是大多数企业it部门的标准任务,修改CA根目录的应用程序有些忌讳

如果要将服务器证书的公钥推送到每个客户端,请参阅。如果您正在谈论创建用于相互TLS身份验证的客户端证书,请参阅


相反,如果您谈论的是一个短暂的证书,即仅由应用程序通过代码访问的其他证书,则可以将其作为嵌入资源添加到程序集中,并通过

我要提醒您不要在应用程序资源中放置私钥,因为应用程序的任何用户都可以使用它做任何他们想做的事情。PKI的设计不需要共享私钥。不管怎样,我复制了以下内容:

var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MyCert.cer");
var bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
var cert = new X509Certificate2(bytes, "certPassword");