WCF获取证书编码值

时间:2009-07-29 11:20:56

标签: .net wcf certificate

我正在使用我的WCF服务的证书,因此在web.Config中有一个编码值

<identity>
  <certificate encodedValue="large string!!!!!!!" />
</identity>

该值是由Visual Studio在开发中使用我的测试证书生成的。

现在我正在部署我想获得由管理服务器的第三方维护的证书的编码值。

我知道如下使用svcutil.exe工具会给我这个。

svcutil.exe http://servicename.svc

我想知道的是

  1. 这是推荐的方法
  2. 是否有任何一种方法可以做到我缺少
  3. 编辑:Visual Studio不可用,我无法移动证书,因此必须是非VS解决方案

2 个答案:

答案 0 :(得分:20)

这可以通过将证书(通过IIS或证书管理单元)导出到.cer文件而不使用base64形式的私钥,然后在记事本中打开并将其复制并粘贴到encodedValue

来完成。

答案 1 :(得分:0)

如果它由第三方管理,那么服务器证书将被加载到Windows证书存储区并作为服务行为的一部分被选中

在服务行为中,您可以通过

选择它在端点上使用的证书
<behaviors>
  <serviceBehaviors>
    <behavior name="MyServiceBehavior">
      <serviceCredentials>
        <serviceCertificate findValue="CN=myhost.mydomain.org" />
      </serviceCredentials>
    </behavior>
  </serviceBehaviors>
</behaviors>

该元素用于连接客户端。只需刷新客户端解决方案中代理的服务引用,就应使用新证书的公共部分的编码值版本更新标识元素。