【问题标题】:PowerShell: New-SelfSignedCertificate : CertEnroll::CX509Enrollment::_CreateRequest: Invalid flags specified. 0x80090009PowerShell:New-SelfSignedCertificate:CertEnroll::CX509Enrollment::_CreateRequest:指定的标志无效。 0x80090009
【发布时间】:2017-06-14 10:41:05
【问题描述】:

我正在尝试创建一个证书,稍后将用于签署开发中的其他证书。我正在使用 Powershell New-SelfSignedCertificate cmdlet。

下面是命令:

New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Container In4mRootCATest* -DnsName in4monline-test.com -FriendlyName "In4m Test Root CA Cert" -KeyExportPolicy Exportable -KeyFriendlyName "In4m Test Root CA Cert Private Key" -KeyLocation "C:\scratch" -KeyProtection None -KeySpec Signature -KeyUsage CertSign,CRLSign,DigitalSignature -KeyUsageProperty All -NotAfter (Get-Date).AddMonths(72) -Provider "Microsoft Base DSS Cryptographic Provider" -Type Custom

我得到的错误是:

New-SelfSignedCertificate : CertEnroll::CX509Enrollment::_CreateRequest: Invalid flags specified. 0x80090009 (-2146893815 NTE_BAD_FLAGS)
At line:1 char:1
+ New-SelfSignedCertificate -CertStoreLocation Cert:\CurrentUser\My -Co ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [New-SelfSignedCertificate], Exception
+ FullyQualifiedErrorId : System.Exception,Microsoft.CertificateServices.Commands.NewSelfSignedCertificateCommand

谁能帮助我了解我可能错误地组合/提交了哪些值?

我使用的是 Windows 10。

感谢您的帮助。

【问题讨论】:

    标签: powershell winapi encryption certificate


    【解决方案1】:

    删除 -provider 参数,然后使用证书 MMC 管理单元查看证书是否是您需要的。

    【讨论】:

    • 谢谢!这解决了这个问题。我能够创建根证书,并且能够使用此证书签署子证书。
    【解决方案2】:

    我不是证书方面的专家,但这可能会推动您前进。 我建议您尝试使用列表中的其他提供商:

    certutil -csplist
    

    https://social.technet.microsoft.com/wiki/contents/articles/7573.active-directory-certificate-services-pki-key-archival-and-management.aspx

    客户端 CSP 不允许密钥导出 为了让客户端注册过程生成私钥并将其发送到 CA,必须在生成密钥时将密钥标记为可导出。如果证书模板未设置为允许可导出密钥,或者第三方 CSP(如果适用)不支持可导出密钥,则注册将失败,并且注册向导将返回密钥不可导出的错误。发生这种情况时,第三方 CSP 可能会报告各种错误,例如“灾难性故障”。如果 Windows 2000 或 Windows Millennium Edition 客户端使用密钥存档执行注册,如果未将密钥标记为导出,则可能会出现以下错误。 0x80090009 - NTE_BAD_FLAGS 注意:如果 CSP 支持用于密钥存档的一次性标志,称为 (CRYPT_ARCHIVABLE),则不需要密钥导出标志。 Microsoft 默认软件 CSP 支持此标志。但是,Windows 2000 和 Windows Millennium Edition 客户端不支持此标志,并且必须允许导出密钥以进行注册以使用密钥存档。

    【讨论】:

    • 如果有人有更权威的答案,我很乐意撤回这个以支持更好的答案。
    • 另请注意,它表示支持一次性密钥归档的 CSP 可能不需要密钥导出标志。
    猜你喜欢
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多