certutil

谨慎

不建议在任何生产代码中使用 Certutil,也不提供实时站点支持或应用程序兼容性的任何保证。 它是开发人员和 IT 管理员用来查看设备上的证书内容信息的工具。

Certutil.exe 是作为证书服务的一部分安装的命令行程序。 可以使用 certutil.exe 显示证书颁发机构(CA)配置信息、配置证书服务以及备份和还原 CA 组件。 该计划还会验证证书、密钥对和证书链。

如果在没有其他参数的证书颁发机构上运行 certutil,则会显示当前的证书颁发机构配置。 如果在没有其他参数的非证书颁发机构上运行 certutil,则命令默认运行 certutil -dump 命令。 并非所有版本的 certutil 都提供本文档介绍的所有参数和选项。 可以通过运行 certutil -?certutil <parameter> -?来查看 certutil 版本提供的选项。

提示

若要查看所有 certutil 谓词和选项的完整帮助,包括隐藏在 -? 参数中的帮助,请运行 certutil -v -uSAGEuSAGE 开关区分大小写。

参数

-转 储

转储配置信息或文件。

certutil [options] [-dump]
certutil [options] [-dump] File

选项:

[-f] [-user] [-Silent] [-split] [-p Password] [-t Timeout]

-dumpPFX

转储 PFX 结构。

certutil [options] [-dumpPFX] File

选项:

[-f] [-Silent] [-split] [-p Password] [-csp Provider]

-asn

使用抽象语法表示法(ASN.1)语法分析和显示文件的内容。 文件类型包括 。CER, .DER 和 PKCS #7 格式化文件。

certutil [options] -asn File [type]
  • [type]:数值CRYPT_STRING_* 解码类型

-decodehex

解码十六进制编码的文件。

certutil [options] -decodehex InFile OutFile [type]
  • [type]:数值CRYPT_STRING_* 解码类型

选项:

[-f]

-encodehex

以十六进制形式对文件进行编码。

certutil [options] -encodehex InFile OutFile [type]
  • [type]:数值CRYPT_STRING_* 编码类型

选项:

[-f] [-nocr] [-nocrlf] [-UnicodeText]

-解码

解码 Base64 编码的文件。

certutil [options] -decode InFile OutFile

选项:

[-f]

-编码

将文件编码为 Base64。

certutil [options] -encode InFile OutFile

选项:

[-f] [-unicodetext]

-否认

拒绝挂起的请求。

certutil [options] -deny RequestId

选项:

[-config Machine\CAName]

-提交

重新提交挂起的请求。

certutil [options] -resubmit RequestId

选项:

[-config Machine\CAName]

-setattributes

设置挂起的证书请求的属性。

certutil [options] -setattributes RequestId AttributeString

哪里:

  • RequestId 是挂起请求的数值请求 ID。
  • AttributeString 是请求属性名称和值对。

选项:

[-config Machine\CAName]

言论

  • 名称和值必须冒号分隔,而多个名称和值对必须以换行符分隔。 例如:CertificateTemplate:User\nEMail:User@Domain.com\n 序列转换为换行符。

-setextension

为挂起的证书请求设置扩展。

certutil [options] -setextension RequestId ExtensionName Flags {Long | Date | String | @InFile}

哪里:

  • requestID 是挂起请求的数值请求 ID。
  • ExtensionName 是扩展的 ObjectId 字符串。
  • 标志 设置扩展的优先级。 建议使用 0,而 1 将扩展设置为关键,2 禁用扩展,3 这样做。

选项:

[-config Machine\CAName]

言论

  • 如果最后一个参数为数值,则将其视为 Long
  • 如果最后一个参数可以分析为日期,则将其用作日期 日期
  • 如果最后一个参数以 \@开头,则其余的令牌将作为包含二进制数据的文件名或 ascii 文本十六进制转储。
  • 如果最后一个参数是任何其他参数,则将其视为字符串。

-撤回

吊销证书。

certutil [options] -revoke SerialNumber [Reason]

哪里:

  • SerialNumber 是要吊销的证书序列号的逗号分隔列表。
  • 原因 是吊销原因的数字或符号表示形式,包括:
    • 0.CRL_REASON_UNSPECIFIED - 未指定(默认值)
    • 1.CRL_REASON_KEY_COMPROMISE - 密钥泄露
    • 2.CRL_REASON_CA_COMPROMISE - 证书颁发机构泄露
    • 3.CRL_REASON_AFFILIATION_CHANGED - 关联已更改
    • 4.CRL_REASON_SUPERSEDED - 取代
    • 5.CRL_REASON_CESSATION_OF_OPERATION - 停止行动
    • 6.CRL_REASON_CERTIFICATE_HOLD - 证书保留
    • 8.CRL_REASON_REMOVE_FROM_CRL - 从 CRL 中删除
    • 9:CRL_REASON_PRIVILEGE_WITHDRAWN - 已撤回特权
    • 10:CRL_REASON_AA_COMPROMISE - AA 泄露
    • -1. Unrevoke - 未唤醒

选项:

[-config Machine\CAName]

-isvalid

显示当前证书的处置。

certutil [options] -isvalid SerialNumber | CertHash

选项:

[-config Machine\CAName]

-getconfig

获取默认配置字符串。

certutil [options] -getconfig

选项:

[-idispatch] [-config Machine\CAName]

-getconfig2

通过 ICertGetConfig 获取默认配置字符串。

certutil [options] -getconfig2

选项:

[-idispatch] 

-getconfig3

通过 ICertConfig 获取配置。

certutil [options] -getconfig3

选项:

[-idispatch] 

-乒

尝试联系 Active Directory 证书服务请求接口。

certutil [options] -ping [MaxSecondsToWait | CAMachineList]

哪里:

  • CAMachineList 是 CA 计算机名称的逗号分隔列表。 对于单个计算机,请使用终止逗号。 此选项还显示每个 CA 计算机的站点成本。

选项:

[-config Machine\CAName] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-pingadmin

尝试联系 Active Directory 证书服务管理界面。

certutil [options] -pingadmin

选项:

[-config Machine\CAName]

-CAInfo

显示有关证书颁发机构的信息。

certutil [options] -CAInfo [InfoName [Index | ErrorCode]]

哪里:

  • InfoName 根据以下 infoname 参数语法指示要显示的 CA 属性:
    • * - 显示所有属性
    • 广告 - 高级服务器
    • aia [索引] - AIA URL
    • cdp [索引] - CDP URL
    • 证书 [索引] - CA 证书
    • 证书链 [索引] - CA 证书链
    • 证书计数 - CA 证书计数
    • certcrlchain [索引] - 使用 CRL 的 CA 证书链
    • 证书州 [索引] - CA 证书
    • certstatuscode [索引] - CA 证书验证状态
    • 证书版本 [索引] - CA 证书版本
    • CRL [索引] - 基本 CRL
    • crlstate [索引] - CRL
    • crlstatus [索引] - CRL 发布状态
    • 跨[索引] - 向后交叉证书
    • 交叉+ [索引] - 转发交叉证书
    • crossstate - [Index] - 向后交叉证书
    • crossstate+ [索引] - 转发交叉证书
    • deltacrl [索引] - Delta CRL
    • deltacrlstatus [索引] - Delta CRL 发布状态
    • dns - DNS 名称
    • dsname - 清理 CA 短名称(DS 名称)
    • error1 ErrorCode - 错误消息文本
    • error2 ErrorCode - 错误消息文本和错误代码
    • 退出 [索引] - 退出模块说明
    • exitcount - 退出模块计数
    • 文件 - 文件版本
    • 信息 - CA 信息
    • kra [索引] - KRA 证书
    • 克拉count - KRA 证书计数
    • 克拉斯特州 [索引] - KRA 证书
    • 克劳斯 - KRA 证书已用计数
    • localename - CA 区域设置名称
    • 名称 - CA 名称
    • ocsp [索引] - OCSP URL
    • - 父 CA
    • 策略 - 策略模块说明
    • 产品 - 产品版本
    • propidmax - 最大 CA PropId
    • 角色 - 角色分离
    • 清理名称 - 清理 CA 名称
    • sharedfolder - 共享文件夹
    • 主题模板 - 主题模板 OID
    • 模板 - 模板
    • 类型 - CA 类型
    • xchg [索引] - CA 交换证书
    • xchgchain [索引] - CA 交换证书链
    • xchgcount - CA 交换证书计数
    • xchgcrlchain [索引] - CA 交换证书链与 CRL
  • 索引 是可选的从零开始的属性索引。
  • 错误代码 是数值错误代码。

选项:

[-f] [-split] [-config Machine\CAName]

-CAPropInfo

显示 CA 属性类型信息。

certutil [options] -CAInfo [InfoName [Index | ErrorCode]]

选项:

[-idispatch] [-v1] [-admin] [-config Machine\CAName]

-ca.cert

检索证书颁发机构的证书。

certutil [options] -ca.cert OutCACertFile [Index]

哪里:

  • OutCACertFile 是输出文件。
  • 索引 是 CA 证书续订索引(默认为最新索引)。

选项:

[-f] [-split] [-config Machine\CAName]

-ca.chain

检索证书颁发机构的证书链。

certutil [options] -ca.chain OutCACertChainFile [Index]

哪里:

  • OutCACertChainFile 是输出文件。
  • 索引 是 CA 证书续订索引(默认为最新索引)。

选项:

[-f] [-split] [-config Machine\CAName]

-GetCRL

获取证书吊销列表(CRL)。

certutil [options] -GetCRL OutFile [Index] [delta]

哪里:

  • 索引 是 CRL 索引或键索引(最近键的默认值为 CRL)。
  • 增量 是增量 CRL(默认值为基本 CRL)。

选项:

[-f] [-split] [-config Machine\CAName]

-CRL

发布新的证书吊销列表(CRL)或增量 CRL。

certutil [options] -CRL [dd:hh | republish] [delta]

哪里:

  • dd:hh 是新的 CRL 有效期(以天和小时为单位)。
  • 重新发布 重新发布最新的 CRL。
  • 增量 仅发布增量 CRL(默认值为基 CRL 和增量 CRL)。

选项:

[-split] [-config Machine\CAName]

-关闭

关闭 Active Directory 证书服务。

certutil [options] -shutdown

选项:

[-config Machine\CAName]

-installCert

安装证书颁发机构证书。

certutil [options] -installCert [CACertFile]

选项:

[-f] [-silent] [-config Machine\CAName]

-renewCert

续订证书颁发机构证书。

certutil [options] -renewCert [ReuseKeys] [Machine\ParentCAName]

选项:

[-f] [-silent] [-config Machine\CAName]
  • 使用 -f 忽略未完成的续订请求,并生成新请求。

-图式

转储证书的架构。

certutil [options] -schema [Ext | Attrib | CRL]

哪里:

  • 该命令默认为“请求”和“证书”表。
  • Ext 是扩展表。
  • 属性 是属性表。
  • CRL 是 CRL 表。

选项:

[-split] [-config Machine\CAName]

-视图

转储证书视图。

certutil [options] -view [Queue | Log | LogFail | Revoked | Ext | Attrib | CRL] [csv]

哪里:

  • 队列 转储特定请求队列。
  • 日志 转储已颁发或吊销的证书,以及任何失败的请求。
  • LogFail 转储失败的请求。
  • 吊销 转储已吊销的证书。
  • Ext 转储扩展表。
  • Attrib 转储属性表。
  • CRL 转储 CRL 表。
  • csv 使用逗号分隔的值提供输出。

选项:

[-silent] [-split] [-config Machine\CAName] [-restrict RestrictionList] [-out ColumnList]

言论

  • 若要显示所有条目的 StatusCode 列,请键入 -out StatusCode
  • 若要显示最后一项的所有列,请键入:-restrict RequestId==$
  • 若要显示三个请求的 RequestId处置,请键入:-restrict requestID>=37,requestID<40 -out requestID,disposition
  • 若要显示所有基 CRL 的行 ID 行 IDCRL 数字,请键入:-restrict crlminbase=0 -out crlrowID,crlnumber crl
  • 若要显示基本 CRL 数字 3,请键入:-v -restrict crlminbase=0,crlnumber=3 -out crlrawcrl crl
  • 若要显示整个 CRL 表,请键入:CRL
  • 对日期限制使用 Date[+|-dd:hh]
  • now+dd:hh 用于相对于当前时间的日期。
  • 模板包含扩展密钥用法(EKU),它们是描述证书使用方式的对象标识符(OID)。 证书并不总是包括模板公用名或显示名称,但它们始终包含模板 EKU。 可以从 Active Directory 中提取特定证书模板的 EKU,然后基于该扩展限制视图。

-分贝

转储原始数据库。

certutil [options] -db

选项:

[-config Machine\CAName] [-restrict RestrictionList] [-out ColumnList]

-deleterow

从服务器数据库中删除行。

certutil [options] -deleterow RowId | Date [Request | Cert | Ext | Attrib | CRL]

哪里:

  • 请求 根据提交日期删除失败和挂起的请求。
  • 证书 根据到期日期删除过期和吊销的证书。
  • Ext 删除扩展表。
  • Attrib 删除属性表。
  • CRL 删除 CRL 表。

选项:

[-f] [-config Machine\CAName]

例子

  • 若要删除在 2001 年 1 月 22 日之前提交的失败和挂起的请求,请键入:1/22/2001 request
  • 若要删除在 2001 年 1 月 22 日到期的所有证书,请键入:1/22/2001 cert
  • 若要删除 RequestID 37 的证书行、属性和扩展,请键入:37
  • 若要删除 2001 年 1 月 22 日到期的 CRL,请键入:1/22/2001 crl

注意

日期 需要格式 mm/dd/yyyy 而不是 dd/mm/yyyy,例如 1/22/2001 而不是 2001 年 1 月 22 日 22/1/2001。 如果未使用美国区域设置配置服务器,则使用 Date 参数可能会产生意外的结果。

-备份

备份 Active Directory 证书服务。

certutil [options] -backup BackupDirectory [Incremental] [KeepLog]

哪里:

  • BackupDirectory 是用于存储备份数据的目录。
  • 增量 仅执行增量备份(默认值为完整备份)。
  • KeepLog 保留数据库日志文件(默认值为截断日志文件)。

选项:

[-f] [-config Machine\CAName] [-p Password] [-ProtectTo SAMNameAndSIDList]

-backupDB

备份 Active Directory 证书服务数据库。

certutil [options] -backupdb BackupDirectory [Incremental] [KeepLog]

哪里:

  • BackupDirectory 是用于存储备份的数据库文件的目录。
  • 增量 仅执行增量备份(默认值为完整备份)。
  • KeepLog 保留数据库日志文件(默认值为截断日志文件)。

选项:

[-f] [-config Machine\CAName]

-backupkey

备份 Active Directory 证书服务证书和私钥。

certutil [options] -backupkey BackupDirectory

哪里:

  • BackupDirectory 是用于存储备份的 PFX 文件的目录。

选项:

[-f] [-config Machine\CAName] [-p password] [-ProtectTo SAMNameAndSIDList] [-t Timeout]

-恢复

还原 Active Directory 证书服务。

certutil [options] -restore BackupDirectory

哪里:

  • BackupDirectory 是包含要还原数据的目录。

选项:

[-f] [-config Machine\CAName] [-p password]

-restoredb

还原 Active Directory 证书服务数据库。

certutil [options] -restoredb BackupDirectory

哪里:

  • BackupDirectory 是包含要还原的数据库文件的目录。

选项:

[-f] [-config Machine\CAName]

-restorekey

还原 Active Directory 证书服务证书和私钥。

certutil [options] -restorekey BackupDirectory | PFXFile

哪里:

  • BackupDirectory 是包含要还原的 PFX 文件的目录。
  • PFXFile 是要还原的 PFX 文件。

选项:

[-f] [-config Machine\CAName] [-p password]

-exportPFX

导出证书和私钥。 有关详细信息,请参阅本文中的 -store 参数。

certutil [options] -exportPFX [CertificateStoreName] CertId PFXFile [Modifiers]

哪里:

  • CertificateStoreName 是证书存储的名称。
  • CertId 是证书或 CRL 匹配令牌。
  • PFXFile 要导出的 PFX 文件。
  • 修饰符 是逗号分隔的列表,可以包含以下一个或多个列表:
    • CryptoAlgorithm= 指定用于加密 PFX 文件的加密算法,例如 TripleDES-Sha1Aes256-Sha256
    • EncryptCert - 使用密码加密与证书关联的私钥。
    • 除了证书和私钥之外,ExportParameters -Exports 私钥参数。
    • ExtendedProperties - 包括与输出文件中的证书关联的所有扩展属性。
    • NoEncryptCert - 导出私钥而不对其进行加密。
    • NoChain - 不导入证书链。
    • NoRoot - 不导入根证书。

-importPFX

导入证书和私钥。 有关详细信息,请参阅本文中的 -store 参数。

certutil [options] -importPFX [CertificateStoreName] PFXFile [Modifiers]

哪里:

  • CertificateStoreName 是证书存储的名称。
  • PFXFile 是要导入的 PFX 文件。
  • 修饰符 是逗号分隔的列表,可以包含以下一个或多个列表:
    • AT_KEYEXCHANGE - 将 keyspec 更改为密钥交换。
    • AT_SIGNATURE - 将 keyspec 更改为签名。
    • ExportEncrypted - 导出与具有密码加密的证书关联的私钥。
    • FriendlyName= - 指定导入的证书的友好名称。
    • KeyDescription= - 指定与导入的证书关联的私钥的说明。
    • KeyFriendlyName= - 指定与导入的证书关联的私钥的友好名称。
    • NoCert - 不导入证书。
    • NoChain - 不导入证书链。
    • NoExport - 使私钥不可导出。
    • NoProtect - 不使用密码保护密钥。
    • NoRoot - 不导入根证书。
    • Pkcs8 - 对 PFX 文件中的私钥使用 PKCS8 格式。
    • 保护 - 使用密码保护密钥。
    • ProtectHigh - 指定高安全性密码必须与私钥相关联。
    • VSM - 将与导入的证书关联的私钥存储在虚拟智能卡 (VSC) 容器中。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-p Password] [-csp Provider]

言论

  • 默认为个人计算机存储。

-dynamicfilelist

显示动态文件列表。

certutil [options] -dynamicfilelist

选项:

[-config Machine\CAName]

-databaselocations

显示数据库位置。

certutil [options] -databaselocations

选项:

[-config Machine\CAName]

-hashfile

通过文件生成并显示加密哈希。

certutil [options] -hashfile InFile [HashAlgorithm]

-商店

转储证书存储。

certutil [options] -store [CertificateStoreName [CertId [OutputFile]]]

哪里:

  • CertificateStoreName 是证书存储名称。 例如:

    • My, CA (default), Root,
    • ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?one?objectClass=certificationAuthority (View Root Certificates)
    • ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority (Modify Root Certificates)
    • ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint (View CRLs)
    • ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority (Enterprise CA Certificates)
    • ldap: (AD computer object certificates)
    • -user ldap: (AD user object certificates)
  • CertId 是证书或 CRL 匹配令牌。 此 ID 可以是:

    • 序号
    • SHA-1 证书
    • CRL、CTL 或公钥哈希
    • 数字证书索引(0、1 等)
    • 数值 CRL 索引 (.0、.1 等)
    • 数字 CTL 索引 (..0, ..1 等)
    • 公钥
    • 签名或扩展 ObjectId
    • 证书使用者公用名
    • 电子邮件地址
    • UPN 或 DNS 名称
    • 密钥容器名称或 CSP 名称
    • 模板名称或 ObjectId
    • EKU 或应用程序策略 ObjectId
    • CRL 颁发者公用名。

其中许多标识符可能会导致多个匹配。

  • OutputFile 是用于保存匹配证书的文件。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-split] [-dc DCName]
  • -user 选项访问用户存储而不是计算机存储。
  • -enterprise 选项访问计算机企业存储。
  • -service 选项访问计算机服务存储。
  • -grouppolicy 选项访问计算机组策略存储。

例如:

  • -enterprise NTAuth
  • -enterprise Root 37
  • -user My 26e0aaaf000000000004
  • CA .11

注意

在使用 -store 参数时,会观察到性能问题,这两个方面如下:

  1. 当存储中的证书数超过 10 时。
  2. 指定 CertId 时,它用于匹配每个证书的所有列出的类型。 例如,如果提供了 序列号,它还将尝试匹配所有其他列出的类型。

如果担心性能问题,建议在 PowerShell 命令中仅匹配指定的证书类型。

-enumstore

枚举证书存储。

certutil [options] -enumstore [\\MachineName]

哪里:

  • MachineName 是远程计算机名称。

选项:

[-enterprise] [-user] [-grouppolicy]

-addstore

将证书添加到存储区。 有关详细信息,请参阅本文中的 -store 参数。

certutil [options] -addstore CertificateStoreName InFile

哪里:

  • CertificateStoreName 是证书存储名称。
  • InFile 是要添加到存储的证书或 CRL 文件。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-dc DCName]

-delstore

从存储中删除证书。 有关详细信息,请参阅本文中的 -store 参数。

certutil [options] -delstore CertificateStoreName certID

哪里:

  • CertificateStoreName 是证书存储名称。
  • CertId 是证书或 CRL 匹配令牌。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-dc DCName]

-verifystore

验证存储中的证书。 有关详细信息,请参阅本文中的 -store 参数。

certutil [options] -verifystore CertificateStoreName [CertId]

哪里:

  • CertificateStoreName 是证书存储名称。
  • CertId 是证书或 CRL 匹配令牌。

选项:

[-Enterprise] [-user] [-GroupPolicy] [-Silent] [-split] [-dc DCName] [-t Timeout]

-repairstore

修复密钥关联或更新证书属性或密钥安全描述符。 有关详细信息,请参阅本文中的 -store 参数。

certutil [options] -repairstore CertificateStoreName CertIdList [PropertyInfFile | SDDLSecurityDescriptor]

哪里:

  • CertificateStoreName 是证书存储名称。

  • CertIdList 是证书或 CRL 匹配令牌的逗号分隔列表。 有关详细信息,请参阅本文中的 -store CertId 说明。

  • PropertyInfFile 是包含外部属性的 INF 文件,包括:

    [Properties]
        19 = Empty ; Add archived property, OR:
        19 =       ; Remove archived property
    
        11 = {text}Friendly Name ; Add friendly name property
    
        127 = {hex} ; Add custom hexadecimal property
            _continue_ = 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
            _continue_ = 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
    
        2 = {text} ; Add Key Provider Information property
          _continue_ = Container=Container Name&
          _continue_ = Provider=Microsoft Strong Cryptographic Provider&
          _continue_ = ProviderType=1&
          _continue_ = Flags=0&
          _continue_ = KeySpec=2
    
        9 = {text} ; Add Enhanced Key Usage property
          _continue_ = 1.3.6.1.5.5.7.3.2,
          _continue_ = 1.3.6.1.5.5.7.3.1,
    

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-split] [-csp Provider]

-viewstore

转储证书存储。 有关详细信息,请参阅本文中的 -store 参数。

certutil [options] -viewstore [CertificateStoreName [CertId [OutputFile]]]

哪里:

  • CertificateStoreName 是证书存储名称。 例如:

    • My, CA (default), Root,
    • ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?one?objectClass=certificationAuthority (View Root Certificates)
    • ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority (Modify Root Certificates)
    • ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint (View CRLs)
    • ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority (Enterprise CA Certificates)
    • ldap: (AD computer object certificates)
    • -user ldap: (AD user object certificates)
  • CertId 是证书或 CRL 匹配令牌。 这可以是:

    • 序号
    • SHA-1 证书
    • CRL、CTL 或公钥哈希
    • 数字证书索引(0、1 等)
    • 数值 CRL 索引 (.0、.1 等)
    • 数字 CTL 索引 (..0, ..1 等)
    • 公钥
    • 签名或扩展 ObjectId
    • 证书使用者公用名
    • 电子邮件地址
    • UPN 或 DNS 名称
    • 密钥容器名称或 CSP 名称
    • 模板名称或 ObjectId
    • EKU 或应用程序策略 ObjectId
    • CRL 颁发者公用名。

其中许多可能会导致多个匹配。

  • OutputFile 是用于保存匹配证书的文件。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-dc DCName]
  • -user 选项访问用户存储而不是计算机存储。
  • -enterprise 选项访问计算机企业存储。
  • -service 选项访问计算机服务存储。
  • -grouppolicy 选项访问计算机组策略存储。

例如:

  • -enterprise NTAuth
  • -enterprise Root 37
  • -user My 26e0aaaf000000000004
  • CA .11

-viewdelstore

从存储中删除证书。

certutil [options] -viewdelstore [CertificateStoreName [CertId [OutputFile]]]

哪里:

  • CertificateStoreName 是证书存储名称。 例如:

    • My, CA (default), Root,
    • ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?one?objectClass=certificationAuthority (View Root Certificates)
    • ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority (Modify Root Certificates)
    • ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?certificateRevocationList?base?objectClass=cRLDistributionPoint (View CRLs)
    • ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=cpandl,DC=com?cACertificate?base?objectClass=certificationAuthority (Enterprise CA Certificates)
    • ldap: (AD computer object certificates)
    • -user ldap: (AD user object certificates)
  • CertId 是证书或 CRL 匹配令牌。 这可以是:

    • 序号
    • SHA-1 证书
    • CRL、CTL 或公钥哈希
    • 数字证书索引(0、1 等)
    • 数值 CRL 索引 (.0、.1 等)
    • 数字 CTL 索引 (..0, ..1 等)
    • 公钥
    • 签名或扩展 ObjectId
    • 证书使用者公用名
    • 电子邮件地址
    • UPN 或 DNS 名称
    • 密钥容器名称或 CSP 名称
    • 模板名称或 ObjectId
    • EKU 或应用程序策略 ObjectId
    • CRL 颁发者公用名。

其中许多可能会导致多个匹配。

  • OutputFile 是用于保存匹配证书的文件。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-dc DCName]
  • -user 选项访问用户存储而不是计算机存储。
  • -enterprise 选项访问计算机企业存储。
  • -service 选项访问计算机服务存储。
  • -grouppolicy 选项访问计算机组策略存储。

例如:

  • -enterprise NTAuth
  • -enterprise Root 37
  • -user My 26e0aaaf000000000004
  • CA .11

-用户界面

调用 certutil 接口。

certutil [options] -UI File [import]

-TPMInfo

显示受信任的平台模块信息。

certutil [options] -TPMInfo

选项:

[-f] [-Silent] [-split]

-证明

指定应证明证书请求文件。

certutil [options] -attest RequestFile

选项:

[-user] [-Silent] [-split]

-getcert

从选择 UI 中选择证书。

certutil [options] [ObjectId | ERA | KRA [CommonName]]

选项:

[-Silent] [-split]

-ds

显示目录服务(DS)可分辨名称(DN)。

certutil [options] -ds [CommonName]

选项:

[-f] [-user] [-split] [-dc DCName]

-dsDel

删除 DS DN。

certutil [options] -dsDel [CommonName]

选项:

[-user] [-split] [-dc DCName]

-dsPublish

将证书或证书吊销列表(CRL)发布到 Active Directory。

certutil [options] -dspublish CertFile [NTAuthCA | RootCA | SubCA | CrossCA | KRA | User | Machine]
certutil [options] -dspublish CRLfile [DSCDPContainer [DSCDPCN]]

哪里:

  • CertFile 是要发布的证书文件的名称。
  • NTAuthCA 将证书发布到 DS Enterprise 存储。
  • RootCA 将证书发布到 DS 受信任的根存储。
  • SubCA 将 CA 证书发布到 DS CA 对象。
  • CrossCA 将跨证书发布到 DS CA 对象。
  • KRA 将证书发布到 DS 密钥恢复代理对象。
  • 用户 将证书发布到 User DS 对象。
  • 计算机 将证书发布到 Machine DS 对象。
  • CRLfile 是要发布的 CRL 文件的名称。
  • DSCDPContainer 是 DS CDP 容器 CN,通常是 CA 计算机名称。
  • DSCDPCN 是基于清理 CA 短名称和密钥索引的 DS CDP 对象 CN。

选项:

[-f] [-user] [-dc DCName]
  • 使用 -f 创建新的 DS 对象。

-dsCert

显示 DS 证书。

certutil [options] -dsCert [FullDSDN] | [CertId [OutFile]]

选项:

[-Enterprise] [-user] [-config Machine\CAName] [-dc DCName]

-dsCRL

显示 DS CRL。

certutil [options] -dsCRL [FullDSDN] | [CRLIndex [OutFile]]

选项:

[-idispatch] [-Enterprise] [-user] [-config Machine\CAName] [-dc DCName]

-dsDeltaCRL

显示 DS 增量 CRL。

certutil [options] -dsDeltaCRL [FullDSDN] | [CRLIndex [OutFile]]

选项:

[-Enterprise] [-user] [-config Machine\CAName] [-dc DCName]

-dsTemplate

显示 DS 模板属性。

certutil [options] -dsTemplate [Template]

选项:

[Silent] [-dc DCName]

-dsAddTemplate

添加 DS 模板。

certutil [options] -dsAddTemplate TemplateInfFile

选项:

[-dc DCName]

-ADTemplate

显示 Active Directory 模板。

certutil [options] -ADTemplate [Template]

选项:

[-f] [-user] [-ut] [-mt] [-dc DCName]

-模板

显示证书注册策略模板。

选项:

certutil [options] -Template [Template]

选项:

[-f] [-user] [-Silent] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-TemplateCA

显示证书模板的证书颁发机构(CA)。

certutil [options] -TemplateCAs Template

选项:

[-f] [-user] [-dc DCName]

-CATemplates

显示证书颁发机构的模板。

certutil [options] -CATemplates [Template]

选项:

[-f] [-user] [-ut] [-mt] [-config Machine\CAName] [-dc DCName]

-SetCATemplates

设置证书颁发机构可以颁发的证书模板。

certutil [options] -SetCATemplates [+ | -] TemplateList

哪里:

  • + 签名将证书模板添加到 CA 的可用模板列表中。
  • - 签名从 CA 的可用模板列表中删除证书模板。

-SetCASites

管理站点名称,包括设置、验证和删除证书颁发机构站点名称。

certutil [options] -SetCASites [set] [SiteName]
certutil [options] -SetCASites verify [SiteName]
certutil [options] -SetCASites delete

哪里:

  • 仅当面向单个证书颁发机构时,才允许 SiteName

选项:

[-f] [-config Machine\CAName] [-dc DCName]

言论

  • -config 选项面向单个证书颁发机构(默认值为所有 CA)。
  • -f 选项可用于替代指定 SiteName 的验证错误或删除所有 CA 站点名称。

注意

有关为 Active Directory 域服务(AD DS)站点感知配置 CA 的详细信息,请参阅 AD CS 和 PKI 客户端的 AD DS 站点感知

-enrollmentServerURL

显示、添加或删除与 CA 关联的注册服务器 URL。

certutil [options] -enrollmentServerURL [URL AuthenticationType [Priority] [Modifiers]]
certutil [options] -enrollmentserverURL URL delete

哪里:

  • AuthenticationType 在添加 URL 时指定以下客户端身份验证方法之一:
    • Kerberos - 使用 Kerberos SSL 凭据。
    • UserName - 将命名帐户用于 SSL 凭据。
    • ClientCertificate - 使用 X.509 证书 SSL 凭据。
    • 匿名 - 使用匿名 SSL 凭据。
  • 删除 删除与 CA 关联的指定 URL。
  • 优先级 在添加 URL 时未指定,则默认为 1
  • 修饰符 是逗号分隔的列表,其中包括一个或多个以下内容:
    • AllowRenewalsOnly 只能通过此 URL 提交到此 CA 的续订请求。
    • AllowKeyBasedRenewal 允许使用 AD 中没有关联帐户的证书。 这仅适用于 ClientCertificateAllowRenewalsOnly 模式。

选项:

[-config Machine\CAName] [-dc DCName]

-ADCA

显示 Active Directory 证书颁发机构。

certutil [options] -ADCA [CAName]

选项:

[-f] [-split] [-dc DCName]

-CA

显示注册策略证书颁发机构。

certutil [options] -CA [CAName | TemplateName]

选项:

[-f] [-user] [-Silent] [-split] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-政策

显示注册策略。

certutil [options] -Policy

选项:

[-f] [-user] [-Silent] [-split] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-PolicyCache

显示或删除注册策略缓存条目。

certutil [options] -PolicyCache [delete]

哪里:

  • 删除 删除策略服务器缓存条目。
  • -f 删除所有缓存条目

选项:

[-f] [-user] [-policyserver URLorID]

-CredStore

显示、添加或删除凭据存储项。

certutil [options] -CredStore [URL]
certutil [options] -CredStore URL add
certutil [options] -CredStore URL delete

哪里:

  • URL 是目标 URL。 还可以使用 * 来匹配所有条目或 https://machine* 以匹配 URL 前缀。
  • 添加 添加凭据存储项。 使用此选项还需要使用 SSL 凭据。
  • 删除 删除凭据存储条目。
  • -f 覆盖单个条目或删除多个条目。

选项:

[-f] [-user] [-Silent] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName UserName] [-p Password]

-InstallDefaultTemplates

安装默认证书模板。

certutil [options] -InstallDefaultTemplates

选项:

[-dc DCName]

-URL

验证证书或 CRL URL。

certutil [options] -URL InFile | URL

选项:

[-f] [-split]

-URLCache

显示或删除 URL 缓存条目。

certutil [options] -URLcache [URL | CRL | * [delete]]

哪里:

  • URL 是缓存的 URL。
  • CRL 仅在所有缓存的 CRL URL 上运行。
  • * 对所有缓存的 URL 进行操作。
  • 删除 从当前用户的本地缓存中删除相关 URL。
  • -f 强制提取特定 URL 并更新缓存。

选项:

[-f] [-split]

-脉冲

脉冲自动注册事件或 NGC 任务。

certutil [options] -pulse [TaskName [SRKThumbprint]]

哪里:

  • TaskName 是要触发的任务。
    • Pregen 是 NGC 密钥预生成任务。
    • AIKEnroll 是 NGC AIK 证书注册任务。 (默认为自动注册事件)。
  • SRKThumbprint 是存储根密钥的指纹
  • 修饰符
    • Pregen
    • PregenDelay
    • AIKEnroll
    • CryptoPolicy
    • NgcPregenKey
    • DIMSRoam

选项:

[-user]

-MachineInfo

显示有关 Active Directory 计算机对象的信息。

certutil [options] -MachineInfo DomainName\MachineName$

-DCInfo

显示有关域控制器的信息。 默认值显示未验证的 DC 证书。

certutil [options] -DCInfo [Domain] [Verify | DeleteBad | DeleteAll]
  • 修饰符

    • 验证
    • DeleteBad
    • DeleteAll

选项:

[-f] [-user] [-urlfetch] [-dc DCName] [-t Timeout]

提示

在 Windows Server 2012 中添加了指定 Active Directory 域服务(AD DS)域 [域] 和指定域控制器(-dc) 的功能。 若要成功运行此命令,必须使用属于 域管理员企业管理员成员的帐户。 此命令的行为修改如下所示:

  • 如果未指定域且未指定特定域控制器,则此选项返回要从默认域控制器进行处理的域控制器列表。
  • 如果未指定域,但指定了域控制器,则会生成指定域控制器上的证书报告。
  • 如果指定了域,但未指定域控制器,则会生成域控制器列表以及列表中每个域控制器的证书报告。
  • 如果指定了域和域控制器,则会从目标域控制器生成域控制器列表。 还会生成列表中每个域控制器的证书报告。

例如,假设有一个名为 CPANDL 的域,其域控制器名为 CPANDL-DC1。 可以运行以下命令,从 CPANDL-DC1 检索域控制器及其证书的列表:certutil -dc cpandl-dc1 -DCInfo cpandl

-EntInfo

显示有关企业证书颁发机构的信息。

certutil [options] -EntInfo DomainName\MachineName$

选项:

[-f] [-user]

-TCAInfo

显示有关证书颁发机构的信息。

certutil [options] -TCAInfo [DomainDN | -]

选项:

[-f] [-Enterprise] [-user] [-urlfetch] [-dc DCName] [-t Timeout]

-SCInfo

显示有关智能卡的信息。

certutil [options] -scinfo [ReaderName [CRYPT_DELETEKEYSET]]

哪里:

  • CRYPT_DELETEKEYSET 删除智能卡上的所有密钥。

选项:

[-Silent] [-split] [-urlfetch] [-t Timeout]

-SCRoots

管理智能卡根证书。

certutil [options] -SCRoots update [+][InputRootFile] [ReaderName]
certutil [options] -SCRoots save @OutputRootFile [ReaderName]
certutil [options] -SCRoots view [InputRootFile | ReaderName]
certutil [options] -SCRoots delete [ReaderName]

选项:

[-f] [-split] [-p Password]

-钥匙

列出密钥容器中存储的密钥。

certutil [options] -key [KeyContainerName | -]

哪里:

  • KeyContainerName 是密钥要验证的密钥容器名称。 此选项默认为计算机密钥。 若要切换到用户密钥,请使用 -user
  • 使用 - 符号是指使用默认密钥容器。

选项:

[-user] [-Silent] [-split] [-csp Provider] [-Location AlternateStorageLocation]

-delkey

删除命名的密钥容器。

certutil [options] -delkey KeyContainerName

选项:

[-user] [-Silent] [-split] [-csp Provider] [-Location AlternateStorageLocation]

-DeleteHelloContainer

删除 Windows Hello 容器,删除设备上存储的所有关联凭据,包括任何 WebAuthn 和 FIDO 凭据。

用户使用此选项完成后需要注销。

certutil [options] -DeleteHelloContainer

-verifykeys

验证公钥或私钥集。

certutil [options] -verifykeys [KeyContainerName CACertFile]

哪里:

  • KeyContainerName 是密钥要验证的密钥容器名称。 此选项默认为计算机密钥。 若要切换到用户密钥,请使用 -user
  • CACertFile 对证书文件进行签名或加密。

选项:

[-f] [-user] [-Silent] [-config Machine\CAName]

言论

  • 如果未指定任何参数,则会根据其私钥验证每个签名 CA 证书。
  • 此操作只能针对本地 CA 或本地密钥执行。

-验证

验证证书、证书吊销列表(CRL)或证书链。

certutil [options] -verify CertFile [ApplicationPolicyList | - [IssuancePolicyList]] [Modifiers]
certutil [options] -verify CertFile [CACertFile [CrossedCACertFile]]
certutil [options] -verify CRLFile CACertFile [IssuedCertFile]
certutil [options] -verify CRLFile CACertFile [DeltaCRLFile]

哪里:

  • CertFile 是要验证的证书的名称。
  • ApplicationPolicyList 是所需的应用程序策略 ObjectId 的可选逗号分隔列表。
  • IssuancePolicyList 是必需颁发策略 ObjectIds 的可选逗号分隔列表。
  • CACertFile 是可选的颁发 CA 证书,用于验证该证书。
  • CrossedCACertFileCertFile交叉认证的可选证书。
  • CRLFile 是用于验证 CACertFile的 CRL 文件。
  • IssuedCertFile 是 CRLfile 涵盖的可选颁发的证书。
  • DeltaCRLFile 是可选的 delta CRL 文件。
  • 修饰符
    • 强 - 强签名验证
    • MSRoot - 必须链接到Microsoft根
    • MSTestRoot - 必须链接到Microsoft测试根
    • AppRoot - 必须链接到Microsoft应用程序根
    • EV - 强制实施扩展验证策略

选项:

[-f] [-Enterprise] [-user] [-Silent] [-split] [-urlfetch] [-t Timeout] [-sslpolicy ServerName]

言论

  • 使用 ApplicationPolicyList 将链生成限制为仅对指定应用程序策略有效的链。
  • 使用 IssuancePolicyList 将链生成限制为仅对指定颁发策略有效的链。
  • 使用 CACertFile 根据 CertFileCRLfile验证文件中的字段。
  • 如果未指定 CACertFile,则会针对 CertFile生成并验证完整链。
  • 如果同时指定 CACertFileCrossedCACertFile,则两个文件中的字段将针对 CertFile进行验证。
  • 使用 IssuedCertFile 根据 CRLfile验证文件中的字段。
  • 使用 DeltaCRLFile 根据 CertFile验证文件中的字段。

-verifyCTL

验证 AuthRoot 或不允许的证书 CTL。

certutil [options] -verifyCTL CTLobject [CertDir] [CertFile]

哪里:

  • CTLObject 标识要验证的 CTL,包括:

    • AuthRootWU 从 URL 缓存中读取 AuthRoot CAB 和匹配证书。 请改用 -f 从 Windows 更新下载。
    • 不允许的WU 从 URL 缓存中读取不允许的证书 CAB 和不允许的证书存储文件。 请改用 -f 从 Windows 更新下载。
      • PinRulesWU 从 URL 缓存中读取 PinRules CAB。 请改用 -f 从 Windows 更新下载。
    • AuthRoot 读取注册表缓存的 AuthRoot CTL。 与 -f 和不受信任的 CertFile 一起使用,以强制注册表缓存 AuthRoot 和不允许的证书 CCL 进行更新。
    • 不允许 读取注册表缓存的不允许证书 CTL。 与 -f 和不受信任的 CertFile 一起使用,以强制注册表缓存 AuthRoot 和不允许的证书 CCL 进行更新。
      • PinRules 读取注册表缓存的 PinRules CTL。 使用 -f 的行为与 PinRulesWU相同。
    • CTLFileName 指定 CTL 或 CAB 文件的文件或 http 路径。
  • CertDir 指定包含与 CTL 条目匹配的证书的文件夹。 默认为与 CTLobject相同的文件夹或网站。 使用 http 文件夹路径需要在末尾使用路径分隔符。 如果未指定 AuthRoot不允许,则搜索多个位置来查找匹配的证书,包括本地证书存储、crypt32.dll 资源和本地 URL 缓存。 根据需要使用 -f 从 Windows 更新下载。

  • CertFile 指定要验证的证书。 证书与 CTL 条目匹配,显示结果。 此选项禁止大多数默认输出。

选项:

[-f] [-user] [-split]

-syncWithWU

将证书与 Windows 更新同步。

certutil [options] -syncWithWU DestinationDir

哪里:

  • DestinationDir 是指定的目录。
  • f 强制覆盖。
  • Unicode 在 Unicode 中写入重定向输出。
  • gmt 将时间显示为 GMT。
  • 显示以秒和毫秒为单位的时间。
  • v 是一项详细操作。
  • PIN 是智能卡 PIN。
  • WELL_KNOWN_SID_TYPE 是数字 SID:
    • 22 - 本地系统
    • 23 - 本地服务
    • 24 - 网络服务

言论

使用以下自动更新机制下载以下文件:

  • authrootstl.cab 包含非Microsoft根证书的 CCL。
  • disallowedcertstl.cab 包含不受信任的证书的 CCL。
  • 不允许的cert.sst 包含序列化的证书存储,包括不受信任的证书。
  • thumbprint.crt 包含非Microsoft根证书。

例如,certutil -syncWithWU \\server1\PKI\CTLs

  • 如果使用不存在的本地路径或文件夹作为目标文件夹,则会看到错误:The system can't find the file specified. 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND)

  • 如果使用不存在或不可用的网络位置作为目标文件夹,则会看到错误:The network name can't be found. 0x80070043 (WIN32: 67 ERROR_BAD_NET_NAME)

  • 如果服务器无法通过 TCP 端口 80 连接到Microsoft自动更新服务器,则会收到以下错误:A connection with the server couldn't be established 0x80072efd (INet: 12029 ERROR_INTERNET_CANNOT_CONNECT)

  • 如果服务器无法使用 DNS 名称 ctldl.windowsupdate.com访问Microsoft自动更新服务器,则会收到以下错误: The server name or address couldn't be resolved 0x80072ee7 (INet: 12007 ERROR_INTERNET_NAME_NOT_RESOLVED).

  • 如果不使用 -f 开关,并且目录中已存在任何 CTL 文件,则会收到文件存在错误:certutil: -syncWithWU command FAILED: 0x800700b7 (WIN32/HTTP: 183 ERROR_ALREADY_EXISTS) Certutil: Can't create a file when that file already exists.

  • 如果受信任的根证书发生了更改,则会看到:Warning! Encountered the following no longer trusted roots: <folder path>\<thumbprint>.crt. Use "-f" option to force the delete of the above ".crt" files. Was "authrootstl.cab" updated? If yes, consider deferring the delete until all clients have been updated.

选项:

[-f] [-Unicode] [-gmt] [-seconds] [-v] [-privatekey] [-pin PIN] [-sid WELL_KNOWN_SID_TYPE]

-generateSSTFromWU

生成与 Windows 更新同步的存储文件。

certutil [options] -generateSSTFromWU SSTFile

哪里:

  • SSTFile 是要生成的 .sst 文件,其中包含从 Windows 更新下载的第三方根。

选项:

[-f] [-split]

-generatePinRulesCTL

生成包含固定规则列表的证书信任列表 (CTL) 文件。

certutil [options] -generatePinRulesCTL XMLFile CTLFile [SSTFile [QueryFilesPrefix]]

哪里:

  • XMLFile 是要分析的输入 XML 文件。
  • CTLFile 是要生成的输出 CTL 文件。
  • SSTFile 是可选的 .sst 文件,其中包含用于固定的所有证书。
  • QueryFilesPrefix 是可选的 Domains.csvKeys.csv 要为数据库查询创建文件。
    • QueryFilesPrefix 字符串前面追加到每个创建的文件。
    • Domains.csv 文件包含规则名称、域行。
    • Keys.csv 文件包含规则名称、键 SHA256 指纹行。

选项:

[-f]

-downloadOcsp

下载 OCSP 响应并写入目录。

certutil [options] -downloadOcsp CertificateDir OcspDir [ThreadCount] [Modifiers]

哪里:

  • CertificateDir 是证书、存储和 PFX 文件的目录。
  • OcspDir 是用于写入 OCSP 响应的目录。
  • ThreadCount 是并发下载的可选最大线程数。 默认值为 1010。
  • 修饰符 是以下一个或多个逗号分隔列表:
    • DownloadOnce - 下载一次并退出。
    • ReadOcsp - 从 OcspDir 读取而不是写入。

-generateHpkpHeader

使用指定文件或目录中的证书生成 HPKP 标头。

certutil [options] -generateHpkpHeader CertFileOrDir MaxAge [ReportUri] [Modifiers]

哪里:

  • CertFileOrDir 是证书的文件或目录,它是 pin-sha256 的源。
  • MaxAge 是以秒为单位的最大年龄值。
  • ReportUri 是可选的报表 URI。
  • 修饰符 是以下一个或多个逗号分隔列表:
    • includeSubDomains - 追加 includeSubDomains。

-flushCache

刷新所选进程中的指定缓存,例如 lsass.exe。

certutil [options] -flushCache ProcessId CacheMask [Modifiers]

哪里:

  • ProcessId 是要刷新的进程的数字 ID。 设置为 0 以刷新启用刷新的所有进程。

  • CacheMask 是要刷新数值或以下位的缓存的位掩码:

    • 0: ShowOnly
    • 0x01:CERT_WNF_FLUSH_CACHE_REVOCATION
    • 0x02: CERT_WNF_FLUSH_CACHE_OFFLINE_URL
    • 0x04:CERT_WNF_FLUSH_CACHE_MACHINE_CHAIN_ENGINE
    • 0x08:CERT_WNF_FLUSH_CACHE_USER_CHAIN_ENGINES
    • 0x10:CERT_WNF_FLUSH_CACHE_SERIAL_CHAIN_CERTS
    • 0x20:CERT_WNF_FLUSH_CACHE_SSL_TIME_CERTS
    • 0x40:CERT_WNF_FLUSH_CACHE_OCSP_STAPLING
  • 修饰符 是以下一个或多个逗号分隔列表:

    • 显示 - 显示正在刷新的缓存。 必须显式终止 Certutil。

-addEccCurve

添加 ECC 曲线。

certutil [options] -addEccCurve [CurveClass:]CurveName CurveParameters [CurveOID] [CurveType]

哪里:

  • CurveClass 是 ECC 曲线类类型:

    • WEIERSTRASS (默认)
    • 蒙哥马利
    • TWISTED_EDWARDS
  • CurveName 是 ECC 曲线名称。

  • CurveParameters 是以下项之一:

    • 包含 ASN 编码参数的证书文件名。
    • 包含 ASN 编码参数的文件。
  • CurveOID 是 ECC 曲线 OID,是以下项之一:

    • 包含 ASN 编码的 OID 的证书文件名。
    • 显式 ECC 曲线 OID。
  • CurveType 是 Schannel ECC NamedCurve 点(数字)。

选项:

[-f]

-deleteEccCurve

删除 ECC 曲线。

certutil [options] -deleteEccCurve CurveName | CurveOID

哪里:

  • CurveName 是 ECC 曲线名称。
  • CurveOID 是 ECC 曲线 OID。

选项:

[-f]

-displayEccCurve

显示 ECC 曲线。

certutil [options] -displayEccCurve [CurveName | CurveOID]

哪里:

  • CurveName 是 ECC 曲线名称。
  • CurveOID 是 ECC 曲线 OID。

选项:

[-f]

-csplist

列出此计算机上安装的用于加密操作的加密服务提供商(CSP)。

certutil [options] -csplist [Algorithm]

选项:

[-user] [-Silent] [-csp Provider]

-csptest

测试此计算机上安装的 CSP。

certutil [options] -csptest [Algorithm]

选项:

[-user] [-Silent] [-csp Provider]

-CNGConfig

在此计算机上显示 CNG 加密配置。

certutil [options] -CNGConfig

选项:

[-Silent]

-标志

重新对证书吊销列表(CRL)或证书进行签名。

certutil [options] -sign InFileList | SerialNumber | CRL OutFileList [StartDate [+ | -dd:hh] + | -dd:hh] [+SerialNumberList | -SerialNumberList | -ObjectIdList | @ExtensionFile]
certutil [options] -sign InFileList | SerialNumber | CRL OutFileList [#HashAlgorithm] [+AlternateSignatureAlgorithm | -AlternateSignatureAlgorithm]
certutil [options] -sign InFileList OutFileList [Subject:CN=...] [Issuer:hex data]

哪里:

  • InFileList 是用于修改和重新签名的证书或 CRL 文件的逗号分隔列表。

  • SerialNumber 是要创建的证书的序列号。 有效期和其他选项不存在。

  • CRL 创建空的 CRL。 有效期和其他选项不存在。

  • OutFileList 是修改的证书或 CRL 输出文件的逗号分隔列表。 文件数必须与文件列表匹配。

  • StartDate+dd:hh 是证书或 CRL 文件的新有效期,包括:

    • 可选日期加
    • 可选天数和小时有效期(如果使用多个字段),请使用 (+) 或 (-) 分隔符。 使用 now[+dd:hh] 从当前时间开始。 使用 now-dd:hh+dd:hh 从当前时间和固定有效期的固定偏移量开始。 使用 never 没有到期日期(仅适用于 CRL)。
  • SerialNumberList 是要添加或删除的文件的逗号分隔序列号列表。

  • ObjectIdList 是要删除的文件的逗号分隔扩展名 ObjectId 列表。

  • @ExtensionFile 是包含要更新或删除的扩展的 INF 文件。 例如:

    [Extensions]
        2.5.29.31 = ; Remove CRL Distribution Points extension
        2.5.29.15 = {hex} ; Update Key Usage extension
        _continue_=03 02 01 86
    
  • HashAlgorithm 是哈希算法的名称。 这必须是前面有 # 符号的文本。

  • AlternateSignatureAlgorithm 是备用签名算法说明符。

选项:

[-nullsign] [-f] [-user] [-Silent] [-Cert CertId] [-csp Provider]

言论

  • 使用减号 (-) 可删除序列号和扩展。
  • 使用加号 (+) 将序列号添加到 CRL。
  • 可以使用列表同时从 CRL 中删除序列号和 ObjectIds
  • 使用 AlternateSignatureAlgorithm 之前的减号,可以使用旧签名格式。
  • 使用加号,可以使用备用签名格式。
  • 如果未指定 alternateSignatureAlgorithm,则使用证书或 CRL 中的签名格式。

-vroot

创建或删除 Web 虚拟根和文件共享。

certutil [options] -vroot [delete]

-vocsproot

为 OCSP Web 代理创建或删除 Web 虚拟根。

certutil [options] -vocsproot [delete]

-addEnrollmentServer

根据需要为指定的证书颁发机构添加注册服务器应用程序和应用程序池。 此命令不会安装二进制文件或包。

certutil [options] -addEnrollmentServer Kerberos | UserName | ClientCertificate [AllowRenewalsOnly] [AllowKeyBasedRenewal]

哪里:

  • addEnrollmentServer 要求使用身份验证方法连接到证书注册服务器,包括:

    • Kerberos 使用 Kerberos SSL 凭据。
    • UserName 将命名帐户用于 SSL 凭据。
    • ClientCertificate 使用 X.509 证书 SSL 凭据。
  • 修饰符

    • AllowRenewalsOnly 仅允许通过 URL 向证书颁发机构提交续订请求。
    • AllowKeyBasedRenewal 允许使用 Active Directory 中没有关联帐户的证书。 这适用于 ClientCertificateAllowRenewalsOnly 模式。

选项:

[-config Machine\CAName]

-deleteEnrollmentServer

如有必要,删除指定的证书颁发机构的注册服务器应用程序和应用程序池。 此命令不会安装二进制文件或包。

certutil [options] -deleteEnrollmentServer Kerberos | UserName | ClientCertificate

哪里:

  • deleteEnrollmentServer 要求对客户端连接到证书注册服务器的身份验证方法,包括:
    • Kerberos 使用 Kerberos SSL 凭据。
    • UserName 将命名帐户用于 SSL 凭据。
    • ClientCertificate 使用 X.509 证书 SSL 凭据。

选项:

[-config Machine\CAName]

-addPolicyServer

如有必要,请添加策略服务器应用程序和应用程序池。 此命令不会安装二进制文件或包。

certutil [options] -addPolicyServer Kerberos | UserName | ClientCertificate [KeyBasedRenewal]

哪里:

  • addPolicyServer 要求使用与证书策略服务器的客户端连接的身份验证方法,包括:
    • Kerberos 使用 Kerberos SSL 凭据。
    • UserName 将命名帐户用于 SSL 凭据。
    • ClientCertificate 使用 X.509 证书 SSL 凭据。
  • KeyBasedRenewal 允许使用返回到包含 keybasedrenewal 模板的客户端的策略。 此选项仅适用于 UserNameClientCertificate 身份验证。

-deletePolicyServer

如有必要,请删除策略服务器应用程序和应用程序池。 此命令不会删除二进制文件或包。

certutil [options] -deletePolicyServer Kerberos | UserName | ClientCertificate [KeyBasedRenewal]

哪里:

  • deletePolicyServer 要求对客户端连接到证书策略服务器的身份验证方法,包括:
    • Kerberos 使用 Kerberos SSL 凭据。
    • UserName 将命名帐户用于 SSL 凭据。
    • ClientCertificate 使用 X.509 证书 SSL 凭据。
  • KeyBasedRenewal 允许使用 KeyBasedRenewal 策略服务器。

-类

显示 COM 注册表信息。

certutil [options] -Class [ClassId | ProgId | DllName | *]

选项:

[-f]

-7f

检查证书是否0x7f长度编码。

certutil [options] -7f CertFile

-oid

显示对象标识符或设置显示名称。

certutil [options] -oid ObjectId [DisplayName | delete [LanguageId [type]]]
certutil [options] -oid GroupId
certutil [options] -oid AlgId | AlgorithmName [GroupId]

哪里:

  • ObjectId 是要显示或添加到显示名称的 ID。
  • GroupId 是 ObjectIds 枚举的 GroupID 编号(decimal)。
  • AlgId 是 objectID 查找的十六进制 ID。
  • AlgorithmName 是 objectID 查找的算法名称。
  • DisplayName 显示要存储在 DS 中的名称。
  • 删除 删除显示名称。
  • LanguageId 是语言 ID 值(默认值为当前:1033)。
  • 类型 是要创建的 DS 对象的类型,包括:
    • 1 - 模板(默认值)
    • 2 - 颁发策略
    • 3 - 应用程序策略
  • -f 创建 DS 对象。

选项:

[-f]

-错误

显示与错误代码关联的消息文本。

certutil [options] -error ErrorCode

-getsmtpinfo

获取简单邮件传输协议 (SMTP) 信息。

certutil [options] -getsmtpinfo

-setsmtpinfo

设置 SMTP 信息。

certutil [options] -setsmtpinfo LogonName

选项:

[-config Machine\CAName] [-p Password]

-getreg

显示注册表值。

certutil [options] -getreg [{ca | restore | policy | exit | template | enroll | chain | PolicyServers}\[ProgId\]] [RegistryValueName]

哪里:

  • ca 使用证书颁发机构的注册表项。
  • 还原 使用证书颁发机构的还原注册表项。
  • 策略 使用策略模块的注册表项。
  • 退出 使用第一个退出模块的注册表项。
  • 模板 使用模板注册表项(对用户模板使用 -user)。
  • 注册 使用注册注册表项(对用户上下文使用 -user)。
  • 使用链配置注册表项。
  • PolicyServers 使用策略服务器注册表项。
  • ProgId 使用策略或退出模块的 ProgID(注册表子项名称)。
  • RegistryValueName 使用注册表值名称(使用 Name* 前缀匹配)。
  • 使用新的数字、字符串或日期注册表值或文件名。 如果数值以 +-开头,则会在现有注册表值中设置或清除新值中指定的位。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-config Machine\CAName]

言论

  • 如果字符串值以 +-开头,并且现有值是 REG_MULTI_SZ 值,则字符串将添加到现有注册表值或从现有注册表值中删除。 若要强制创建 REG_MULTI_SZ 值,请将 \n 添加到字符串值的末尾。
  • 如果值以 \@开头,则值的其余部分是包含二进制值的十六进制文本表示形式的文件的名称。
  • 如果未引用有效的文件,则会将其分析为可选日期加或减去可选天数和小时数的 [Date][+|-][dd:hh]
  • 如果同时指定了两者,请使用加号 (+) 或减号 (-) 分隔符。 将 now+dd:hh 用于相对于当前时间的日期。
  • 使用 i64 作为后缀来创建REG_QWORD值。
  • 使用 chain\chaincacheresyncfiletime @now 有效地刷新缓存的 CRL。
  • 注册表别名:
    • 配置
    • CA
    • 策略 - PolicyModules
    • Exit - ExitModules
    • 还原 - RestoreInProgress
    • 模板 - Software\Microsoft\Cryptography\CertificateTemplateCache
    • 注册 - Software\Microsoft\Cryptography\AutoEnrollment (Software\Policies\Microsoft\Cryptography\AutoEnrollment)
    • MSCEP - Software\Microsoft\Cryptography\MSCEP
    • Chain - Software\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config
    • PolicyServers - Software\Microsoft\Cryptography\PolicyServers (Software\Policies\Microsoft\Cryptography\PolicyServers)
    • Crypt32 - System\CurrentControlSet\Services\crypt32
    • NGC - System\CurrentControlSet\Control\Cryptography\Ngc
    • AutoUpdate - Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
    • Passport - Software\Policies\Microsoft\PassportForWork
    • MDM - Software\Microsoft\Policies\PassportForWork

-setreg

设置注册表值。

certutil [options] -setreg [{ca | restore | policy | exit | template | enroll | chain | PolicyServers}\[ProgId\]] RegistryValueName Value

哪里:

  • ca 使用证书颁发机构的注册表项。
  • 还原 使用证书颁发机构的还原注册表项。
  • 策略 使用策略模块的注册表项。
  • 退出 使用第一个退出模块的注册表项。
  • 模板 使用模板注册表项(对用户模板使用 -user)。
  • 注册 使用注册注册表项(对用户上下文使用 -user)。
  • 使用链配置注册表项。
  • PolicyServers 使用策略服务器注册表项。
  • ProgId 使用策略或退出模块的 ProgID(注册表子项名称)。
  • RegistryValueName 使用注册表值名称(使用 Name* 前缀匹配)。
  • 使用新的数字、字符串或日期注册表值或文件名。 如果数值以 +-开头,则会在现有注册表值中设置或清除新值中指定的位。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-config Machine\CAName]

言论

  • 如果字符串值以 +-开头,并且现有值是 REG_MULTI_SZ 值,则字符串将添加到现有注册表值或从现有注册表值中删除。 若要强制创建 REG_MULTI_SZ 值,请将 \n 添加到字符串值的末尾。
  • 如果值以 \@开头,则值的其余部分是包含二进制值的十六进制文本表示形式的文件的名称。
  • 如果未引用有效的文件,则会将其分析为可选日期加或减去可选天数和小时数的 [Date][+|-][dd:hh]
  • 如果同时指定了两者,请使用加号 (+) 或减号 (-) 分隔符。 将 now+dd:hh 用于相对于当前时间的日期。
  • 使用 i64 作为后缀来创建REG_QWORD值。
  • 使用 chain\chaincacheresyncfiletime @now 有效地刷新缓存的 CRL。

-delreg

删除注册表值。

certutil [options] -delreg [{ca | restore | policy | exit | template | enroll |chain | PolicyServers}\[ProgId\]][RegistryValueName]

哪里:

  • ca 使用证书颁发机构的注册表项。
  • 还原 使用证书颁发机构的还原注册表项。
  • 策略 使用策略模块的注册表项。
  • 退出 使用第一个退出模块的注册表项。
  • 模板 使用模板注册表项(对用户模板使用 -user)。
  • 注册 使用注册注册表项(对用户上下文使用 -user)。
  • 使用链配置注册表项。
  • PolicyServers 使用策略服务器注册表项。
  • ProgId 使用策略或退出模块的 ProgID(注册表子项名称)。
  • RegistryValueName 使用注册表值名称(使用 Name* 前缀匹配)。
  • 使用新的数字、字符串或日期注册表值或文件名。 如果数值以 +-开头,则会在现有注册表值中设置或清除新值中指定的位。

选项:

[-f] [-Enterprise] [-user] [-GroupPolicy] [-config Machine\CAName]

言论

  • 如果字符串值以 +-开头,并且现有值是 REG_MULTI_SZ 值,则字符串将添加到现有注册表值或从现有注册表值中删除。 若要强制创建 REG_MULTI_SZ 值,请将 \n 添加到字符串值的末尾。
  • 如果值以 \@开头,则值的其余部分是包含二进制值的十六进制文本表示形式的文件的名称。
  • 如果未引用有效的文件,则会将其分析为可选日期加或减去可选天数和小时数的 [Date][+|-][dd:hh]
  • 如果同时指定了两者,请使用加号 (+) 或减号 (-) 分隔符。 将 now+dd:hh 用于相对于当前时间的日期。
  • 使用 i64 作为后缀来创建REG_QWORD值。
  • 使用 chain\chaincacheresyncfiletime @now 有效地刷新缓存的 CRL。
  • 注册表别名:
    • 配置
    • CA
    • 策略 - PolicyModules
    • Exit - ExitModules
    • 还原 - RestoreInProgress
    • 模板 - Software\Microsoft\Cryptography\CertificateTemplateCache
    • 注册 - Software\Microsoft\Cryptography\AutoEnrollment (Software\Policies\Microsoft\Cryptography\AutoEnrollment)
    • MSCEP - Software\Microsoft\Cryptography\MSCEP
    • Chain - Software\Microsoft\Cryptography\OID\EncodingType 0\CertDllCreateCertificateChainEngine\Config
    • PolicyServers - Software\Microsoft\Cryptography\PolicyServers (Software\Policies\Microsoft\Cryptography\PolicyServers)
    • Crypt32 - System\CurrentControlSet\Services\crypt32
    • NGC - System\CurrentControlSet\Control\Cryptography\Ngc
    • AutoUpdate - Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
    • Passport - Software\Policies\Microsoft\PassportForWork
    • MDM - Software\Microsoft\Policies\PassportForWork

-importKMS

将用户密钥和证书导入服务器数据库中进行密钥存档。

certutil [options] -importKMS UserKeyAndCertFile [CertId]

哪里:

  • UserKeyAndCertFile 是一个数据文件,其中包含要存档的用户私钥和证书。 此文件可以是:
    • Exchange 密钥管理服务器 (KMS) 导出文件。
    • PFX 文件。
  • CertId 是 KMS 导出文件解密证书匹配令牌。 有关详细信息,请参阅本文中的 -store 参数。
  • -f 导入证书颁发机构未颁发的证书。

选项:

[-f] [-Silent] [-split] [-config Machine\CAName] [-p Password] [-symkeyalg SymmetricKeyAlgorithm[,KeyLength]]

-ImportCert

将证书文件导入数据库。

certutil [options] -ImportCert Certfile [ExistingRow]

哪里:

  • ExistingRow 导入证书来代替同一密钥的挂起请求。
  • -f 导入证书颁发机构未颁发的证书。

选项:

[-f] [-config Machine\CAName]

言论

证书颁发机构可能还需要配置为通过运行 certutil -setreg ca\KRAFlags +KRAF_ENABLEFOREIGN来支持外国证书。

-GetKey

检索存档的私钥恢复 Blob、生成恢复脚本或恢复存档的密钥。

certutil [options] -GetKey SearchToken [RecoveryBlobOutFile]
certutil [options] -GetKey SearchToken script OutputScriptFile
certutil [options] -GetKey SearchToken retrieve | recover OutputFileBaseName

哪里:

  • 脚本 生成用于检索和恢复密钥的脚本(如果找到多个匹配的恢复候选项或未指定输出文件时的默认行为)。
  • 检索 检索一个或多个密钥恢复 Blob(如果找到完全匹配的恢复候选项,以及指定输出文件时的默认行为)。 使用此选项截断任何扩展,并为每个密钥恢复 Blob 追加特定于证书的字符串和 .rec 扩展。 每个文件都包含证书链和关联的私钥,仍然加密为一个或多个密钥恢复代理证书。
  • 恢复 在一个步骤中检索和恢复私钥(需要密钥恢复代理证书和私钥)。 使用此选项截断任何扩展并追加 .p12 扩展。 每个文件都包含恢复的证书链和关联的私钥,存储为 PFX 文件。
  • SearchToken 选择要恢复的密钥和证书,包括:
    • 证书公用名
    • 证书序列号
    • 证书 SHA-1 哈希(指纹)
    • 证书 KeyId SHA-1 哈希(使用者密钥标识符)
    • 请求者名称(域\用户)
    • UPN (user@domain)
  • RecoveryBlobOutFile 输出包含证书链和关联的私钥的文件,该文件仍加密为一个或多个密钥恢复代理证书。
  • OutputScriptFile 输出包含批处理脚本的文件以检索和恢复私钥。
  • OutputFileBaseName 输出文件基名称。

选项:

[-f] [-UnicodeText] [-Silent] [-config Machine\CAName] [-p Password] [-ProtectTo SAMNameAndSIDList] [-csp Provider]

言论

  • 对于 检索,将截断任何扩展,并为每个密钥恢复 blob 追加特定于证书的字符串和 .rec 扩展。 每个文件都包含证书链和关联的私钥,仍然加密为一个或多个密钥恢复代理证书。
  • 对于 恢复,将截断任何扩展,并追加 .p12 扩展。 包含已恢复的证书链和关联的私钥,存储为 PFX 文件。

-RecoverKey

恢复存档的私钥。

certutil [options] -RecoverKey RecoveryBlobInFile [PFXOutFile [RecipientIndex]]

选项:

[-f] [-user] [-Silent] [-split] [-p Password] [-ProtectTo SAMNameAndSIDList] [-csp Provider] [-t Timeout]

-mergePFX

合并 PFX 文件。

certutil [options] -MergePFX PFXInFileList PFXOutFile [Modifiers]

哪里:

  • PFXInFileList 是 PFX 输入文件的逗号分隔列表。
  • PFXOutFile 是 PFX 输出文件的名称。
  • 修饰符 是以下一个或多个逗号分隔列表:
    • ExtendedProperties 包括任何扩展属性。
    • NoEncryptCert 指定不加密证书。
    • EncryptCert 指定用于加密证书。

选项:

[-f] [-user] [-split] [-p password] [-ProtectTo SAMNameAndSIDList] [-csp Provider]

言论

  • 命令行中指定的密码必须是逗号分隔的密码列表。
  • 如果指定了多个密码,则最后一个密码用于输出文件。 如果只提供一个密码,或者最后一个密码是 *,则会提示用户输入输出文件密码。

-add-chain

添加证书链。

certutil [options] -add-chain LogId certificate OutFile

选项:

[-f]

-add-pre-chain

添加预证书链。

certutil [options] -add-pre-chain LogId pre-certificate OutFile

选项:

[-f]

-get-sth

获取带符号的树头。

certutil [options] -get-sth [LogId]

选项:

[-f]

-get-sth-consistency

获取已签名的树头更改。

certutil [options] -get-sth-consistency LogId TreeSize1 TreeSize2

选项:

[-f]

-get-proof-by-hash

从时间戳服务器获取哈希证明。

certutil [options] -get-proof-by-hash LogId Hash [TreeSize]

选项:

[-f]

-get-entries

从事件日志中检索条目。

certutil [options] -get-entries LogId FirstIndex LastIndex

选项:

[-f]

-get-roots

从证书存储中检索根证书。

certutil [options] -get-roots LogId

选项:

[-f]

-get-entry-and-proof

检索事件日志条目及其加密证明。

certutil [options] -get-entry-and-proof LogId Index [TreeSize]

选项:

[-f]

-VerifyCT

根据证书透明度日志验证证书。

certutil [options] -VerifyCT Certificate SCT [precert]

选项:

[-f]

-?

显示参数列表。

certutil -?
certutil <name_of_parameter> -?
certutil -? -v

哪里:

  • -? 显示参数列表
  • -<name_of_parameter> -? 显示指定参数的帮助内容。
  • -? -v 显示参数和选项的详细列表。

选项

本部分根据命令定义能够指定的所有选项。 每个参数都包含有关哪些选项有效使用的信息。

选择 描述
-管理 将 ICertAdmin2 用于 CA 属性。
-匿名 使用匿名 SSL 凭据。
-cert CertId 签名证书。
-clientcertificate clientCertId 使用 X.509 证书 SSL 凭据。 对于选择 UI,请使用 -clientcertificate
-config Machine\CAName 证书颁发机构和计算机名称字符串。
-csp 提供程序 供应商:
KSP - Microsoft软件密钥存储提供程序
TPM - Microsoft平台加密提供程序
NGC - Microsoft Passport 密钥存储提供程序
SC - Microsoft智能卡密钥存储提供程序
-dc DCName 面向特定的域控制器。
-企业 使用本地计算机企业注册表证书存储。
-f 强制覆盖。
-generateSSTFromWU SSTFile 使用自动更新机制生成 SST。
-gmt 使用 GMT 显示时间。
-GroupPolicy 使用组策略证书存储。
-idispatch 使用 IDispatch 而不是 COM 本机方法。
-kerberos 使用 Kerberos SSL 凭据。
-location alternatestoragelocation (-loc) AlternateStorageLocation。
-mt 显示计算机模板。
-nocr 对不带 CR 字符的文本进行编码。
-nocrlf 在没有 CR-LF 字符的情况下对文本进行编码。
-nullsign 使用数据的哈希作为签名。
-oldpfx 使用旧的 PFX 加密。
-out columnlist 逗号分隔列列表。
-p 密码 密码
-pin PIN 智能卡 PIN。
-policyserver URLorID 策略服务器 URL 或 ID。 对于选择 U/I,请使用 -policyserver。 对于所有策略服务器,请使用 -policyserver *
-privatekey 显示密码和私钥数据。
-保护 使用密码保护密钥。
-protectto SAMnameandSIDlist 逗号分隔的 SAM 名称/SID 列表。
-restrict 限制列表 逗号分隔的限制列表。 每个限制都包含列名、关系运算符和常量整数、字符串或日期。 一个列名称可能前面有一个加号或减号来指示排序顺序。 例如:requestID = 47+requestername >= a, requestername-requestername > DOMAIN, Disposition = 21
-反向 反向日志和队列列。
-秒 使用秒和毫秒显示时间。
-服务 使用服务证书存储。
-sid 数值 SID:
22 - 本地系统
23 - 本地服务
24 - 网络服务
-沉默 使用 silent 标志获取 crypt 上下文。
-分裂 拆分嵌入的 ASN.1 元素,并保存到文件。
-sslpolicy servername 与 ServerName 匹配的 SSL 策略。
-symkeyalg symmetrickeyalgorithm[,keylength] 具有可选密钥长度的对称密钥算法的名称。 例如:AES,1283DES
-syncWithWU DestinationDir 与 Windows 更新同步。
-t 超时 URL 提取超时(以毫秒为单位)。
-Unicode 在 Unicode 中编写重定向输出。
-UnicodeText 在 Unicode 中写入输出文件。
-urlfetch 检索并验证 AIA 证书和 CDP CRL。
-用户 使用HKEY_CURRENT_USER密钥或证书存储。
-username 用户名 将命名帐户用于 SSL 凭据。 对于选择 UI,请使用 -username
-ut 显示用户模板。
-v 提供更详细的(详细)信息。
-v1 使用 V1 接口。

哈希算法:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512。

有关如何使用此命令的更多示例,请参阅以下文章: