【问题标题】:Certificate requirements for IdentityServer3?IdentityServer3 的证书要求?
【发布时间】:2017-08-07 14:53:52
【问题描述】:

我正在从我的域控制器创建一个证书请求,用于 IdentityServer3 (ID3)。在“证书属性”对话框的“密钥用法”部分,我看到了一个密钥用法列表:

  • CRL 签名
  • 数据加密
  • 仅破译
  • 数字签名
  • 仅加密
  • 密钥协议
  • 密钥加密
  • 密钥证书签名
  • 不可否认

问题很简单:ID3 要求其签名证书有哪些密钥用途?除了“使用证书”之外,我在 ID3 文档中找不到任何内容。

我想也有可能所有的证书都是“平等的”,第一个问题是无关紧要的吗?只需制作一个证书就可以了?

【问题讨论】:

  • 发帖后我才考虑到这一点:这个问题更适合安全堆栈交换吗?

标签: ssl x509certificate identityserver3


【解决方案1】:

Identity Server 3 的相关文档是 here。但是,他们并没有详细说明密钥的使用类型……

对于您的第一个问题,我认为正确的用法是数字签名。关于你的第二个问题,我不确定类型是否重要,但我在这方面有点新手......

我的答案基于我用来生成自签名证书的 PowerShell 命令:

New-SelfSignedCertificate -Type Custom -Subject "CN=My Signing Cert" -Provider "Microsoft Strong Cryptographic Provider" -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -HashAlgorithm "SHA256" -TextExtension @ ("2.5.29.37={text}1.3.6.1.5.5.7.3.3") -NotAfter (Get-Date).AddYears(1)

您还可以查看 Identity Server 的一位作者的这篇博文:

makecert and creating ssl or signing certificates

虽然他的示例显示使用不同工具 (makecert) 生成自签名证书,但我的命令和他的命令共享相同的增强型密钥使用对象标识符 1.3.6.1.5.5.7.3.3 maps to code signing

那么,也许关键部分是 OID,而不是关键用途?或者,也许得到正确的确实很重要。无论哪种方式,使用它似乎都是合乎逻辑的选择。

如果您最终确定(通过测试或其他方式),您可以在结果中添加评论吗?

【讨论】:

  • 尽管自称是新手,但这个答案对我很有帮助,谢谢。
  • 您使用什么版本的 PowerShell 以及什么操作系统?
猜你喜欢
  • 2018-10-15
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 2013-12-18
  • 1970-01-01
  • 2017-02-27
  • 1970-01-01
  • 2023-02-11
相关资源
最近更新 更多