WCF获得证书编码值(WCF obtaining certificate encoded value

2019-07-31 01:41发布

我使用我的WCF服务的证书,以便在web.config中的编码值

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

通过使用我的测试证书在开发的Visual Studio生成的值。

现在我部署我想通过谁管理服务器的第三部分保持证书的编码值。

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

svcutil.exe http://servicename.svc

我想知道的是

  1. 这是推荐的方法
  2. 是否有任何方法可以做到这一点,我很想念

编辑:Visual Studio是不可用,我不能移动证书,所以它必须是一个非VS解决方案

Answer 1:

这可以通过导出证书(通过IIS或证书管理单元)的.CER文件,而无需用base64形式的私钥,然后在记事本和复制打开和粘贴到encodedValue此完成



Answer 2:

如果它是由第三方托管,则服务器证书将被加载到Windows证书存储区,并选定为服务行为的一部分

在服务行为,你可以选择它通过使用端点上的证书

<behaviors>
  <serviceBehaviors>
    <behavior name="MyServiceBehavior">
      <serviceCredentials>
        <serviceCertificate findValue="CN=myhost.mydomain.org" />
      </serviceCredentials>
    </behavior>
  </serviceBehaviors>
</behaviors>

该元件用于连接客户端。 只需刷新在客户端解决方案代理和单位元的服务应参照新证书的公共部分的编码值的版本进行更新。



文章来源: WCF obtaining certificate encoded value