【问题标题】:WCF obtaining certificate encoded valueWCF获取证书编码值
【发布时间】:2010-11-15 00:46:25
【问题描述】:

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

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

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

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

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

svcutil.exe http://servicename.svc

我想知道的是

  1. 这是推荐的方法吗
  2. 是否有任何我想念的方法来做到这一点

编辑:Visual Studio 不可用,我无法移动证书,因此它必须是非 VS 解决方案

【问题讨论】:

    标签: .net wcf certificate


    【解决方案1】:

    这可以通过将证书(通过 IIS 或证书管理单元)导出到没有 base64 格式私钥的 .cer 文件中来完成,然后在记事本中打开并将其复制并粘贴到编码值中

    【讨论】:

      【解决方案2】:

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

      在服务行为中,您可以选择它在端点上使用的证书

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

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

      【讨论】:

      • 我应该说 Visual Studio 不可用。
      • 哦。好吧,您可以在具有 VS 可用的机器上重新创建代理,然后使用该配置中的条目。还是托管机器对外界不可见?
      猜你喜欢
      • 2018-12-24
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多