1

我有一个 WPF 和 WCF 应用程序,需要在客户端安装证书 (.pfx) 以启用 WPF 调用 WCF 服务。

现在如何防止客户端从他的证书存储中导出证书(这样他就无法获取 .pfx 文件并将其安装在另一台客户端计算机上)?

4

1 回答 1

1

为 WCF 生成证书

  1. 生成证书颁发机构证书

makecert -r -pe -n "CN=MyCA" -ss my -sr localMachine MyRootPublicCert.cer

-r 创建一个自签名 -pe 将生成的私钥标记为可导出 -ss 存储输出证书的主题证书存储名称 -sr 主题证书存储位置

该文件会在您生成证书的机器的个人证书存储中弹出。

这是您需要作为受信任的根权限导入服务器/客户端的文件(rt 单击您创建的 .cer 文件并安装证书,将其放入受信任的根证书颁发机构)

  1. 生成服务器证书

您需要导出带有私钥的证书才能在服务器上使用它,因此从您在打开 mmc、证书插件、个人创建 CA 证书的机器上单击证书,>> rt 单击 >>所有任务>>导出>>选择是,导出私钥>>选择.PFX>>选择密码>>将此文件命名为NamePrivateKeyCert.pfx

将此证书安装到服务器计算机的个人存储中并使用它来托管服务。

  1. 创建客户证书

从 CA 机器创建服务器证书。这将生成一个嵌入了私钥的证书文件:

makecert -a sha1 -n "CN=ClientCert" -sky exchange -pe -ss 我的 -sr LocalMachine -in "TestCA" -is my -ir localMachine TestPublicCert.cer

获取此 cer 文件并将其安装在 Trusted People 商店中的客户端计算机上

  1. 回顾

    创建 CA 证书(如果您购买了证书,则使用已有的证书) 从 CA 导出受密码保护的 .pfx 文件(私人证书) 从 CA 证书创建公共证书(公共证书)

    然后

    将 CA CA .cer 安装到客户端和服务器上的受信任根证书颁发机构存储中 将私有.pfx 文件安装到服务器的个人存储中 将公共.cer 安装到客户端的受信任人员存储中

    准备好出发。

于 2010-08-05T06:06:31.117 回答