IdentityServer3 的证书要求?

Certificate requirements for IdentityServer3?

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

问题很简单:ID3 的签名证书需要哪些密钥用法?除了 "use a certificate".

之外,我在 ID3 文档中找不到任何内容

我想也有可能所有证书都创建了"equal",第一个问题无关紧要?做个证书就完事了?

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,而不是关键用法?或者,也许得到正确的一个确实很重要。无论哪种方式,它似乎都是合乎逻辑的选择。

如果您最终(通过测试或其他方式)找到了明确的答案,您可以对您的结果发表评论吗?