【问题标题】:Windows Identity Foundation WCF Service CertificatesWindows Identity Foundation WCF 服务证书
【发布时间】:2011-08-10 16:53:27
【问题描述】:

我最近使用 WIF 针对 STS 设置了 WCF 服务,我试图了解所需的证书及其影响,我有一个针对 IIS 的证书,允许 HTTPS 通信,但在 STS 配置中还有两个参考证书。例如

<appSettings>
  <add key="SigningCertificateName" value="CN=STSTestCert"/>
  <add key="EncryptingCertificateName" value="CN=DefaultApplicationCertificate"/>
</appSettings>

在 MSDN 文档 (http://msdn.microsoft.com/en-us/library/ee748498.aspx) 中声明

STS 使用默认证书对其颁发的令牌进行签名。此证书名为“STSTestCert”,它会自动添加到您的证书存储区以供 STS 使用。证书文件存在于 STS 项目中。该文件的密码是“STSTest”。这不应该在生产练习中使用。您可以将默认证书替换为任何其他证书

我的问题是签名证书和加密证书的用途是什么,哪些证书适合面向公众的服务?我需要 3 个不同的吗?

【问题讨论】:

    标签: security certificate wif


    【解决方案1】:

    构建 WIF 的声明是通过令牌传递的。

    每个令牌都经过签名以证明它来自预期的 STS。

    AFAIK,没有办法删除令牌的签名组件(这是有道理的,否则任何第三方都可以生成它们并“假装”它们来自 STS)。

    这些令牌也可以加密。如果您在 https 上运行,则整个消息将使用 IIS 证书加密,而令牌本身将使用 WIF 加密证书再次加密。令牌加密是可选的。当您使用 FedUtil 时,其中一个问题是“您想要令牌加密吗?”。如果您说“否”,则表示未加密。如果您说“是”,则会对其进行加密,然后要求您提供证书。

    如果您愿意,您可以对令牌加密和签名使用相同的证书。从安全角度来看,使用两个是有意义的。

    因此“最安全”的解决方案将使用三个证书。

    您以正常方式从受信任的颁发者处获得证书。

    【讨论】:

      猜你喜欢
      • 2012-08-06
      • 2014-07-18
      • 2011-02-27
      • 2014-05-11
      • 2012-12-26
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 2013-07-09
      相关资源
      最近更新 更多