了解服务器安全证书

Understanding Server Security Certificates

我目前正在使用 Kentor.AuthServices 在我的 MVC 应用程序中实现单点登录。配置包含两个元素 - < signingCertificate > 和 < serviceCertificates >,它们似乎指向本地计算机上的 X.509 证书。

现在我猜这些证书与为 SSL 安装的证书不同?文档将这些称为 "signing" 证书。到目前为止我看到的唯一链接似乎旨在制作您自己的 "self-signed" 证书。我猜这些不能用于实时应用程序?如果没有,我该如何获得这样的证书?

签名证书是一种设置了目的标志以允许其用于代码签名的证书。普通的 SSL/TLS 服务器证书通常没有设置该标志。您可以从(大多数)销售服务器证书的相同 CA 获得签名证书,但代码签名证书的价格(和文书工作)通常不同。

AuthServices 配置中有两个地方包含证书。

  • signingCertificate 是一个证书,指的是 Idp 用来签署其创建的 SAML2 断言的证书。最简单的方法是让 AuthServices 将其作为 Idp 元数据的一部分加载,但如果这不可能,您可以下载证书并进行配置。您只需要此证书的 public 密钥(通常是 .cer 文件)。 Idp 应妥善保管其私钥。

  • serviceCertificate 是另一种方式 - 这就是 AuthServices 用来签署传出请求的方式(如果需要,在简单的设置中则不需要)。 SAML2 包含它自己的证书分发方式(通过元数据),因此自签名证书通常可以。