certutil

注意

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

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

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

提示

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

参数

-dump

转储配置信息或文件。

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]

-decode

解码 Base64 编码的文件。

certutil [options] -decode InFile OutFile

选项:

[-f]

-encode

将文件编码为 Base64。

certutil [options] -encode InFile OutFile

选项:

[-f] [-unicodetext]

-deny

拒绝挂起的请求。

certutil [options] -deny RequestId

选项:

[-config Machine\CAName]

-resubmit

重新提交挂起的请求。

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 字符串
  • Flags 设置扩展的优先级。 建议设置为 0。使用 1 会将扩展设置为关键,使用 2 会禁用扩展,而使用 3 可实现这两种目的。

选项:

[-config Machine\CAName]

备注

  • 如果最后一个参数为数字,则将其视为长整型。
  • 如果最后一个参数可分析为日期,则将其视为日期。
  • 如果最后一个参数以 \@ 开头,则将令牌的其余部分视为带有二进制数据或 ascii 文本十六进制转储的文件名。
  • 如果最后一个参数是其他任何类型,则将其视为字符串。

-revoke

吊销证书。

certutil [options] -revoke SerialNumber [Reason]

其中:

  • SerialNumber 是要吊销的证书序列号的逗号分隔列表
  • Reason 是吊销原因的数字或符号表示形式,包括
    • 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. 取消吊销 - 取消撤销

选项:

[-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] 

-ping

尝试联系 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 属性
    • * - 显示所有属性
    • ads - 高级服务器
    • aia [Index] - AIA URL
    • cdp [Index] - CDP URL
    • cert [Index] - CA 证书
    • certchain [Index] - CA 证书链
    • certcount - CA 证书计数
    • certcrlchain [Index] - 带有 CRL 的 CA 证书链
    • certstate [Index] - CA 证书
    • certstatuscode [Index] - CA 证书验证状态
    • certversion [Index] - CA 证书版本
    • CRL [Index] - 基 CRL
    • crlstate [Index] - CRL
    • crlstatus [Index] - CRL 发布状态
    • cross- [Index] - 向后交叉证书
    • cross+ [Index] - 转发交叉证书
    • crossstate - [Index] - 向后交叉证书
    • crossstate+ [Index] - 转发交叉证书
    • deltacrl [Index] - 增量 CRL
    • deltacrlstatus [Index] - 增量 CRL 发布状态
    • dns - DNS 名称
    • dsname - 净化的 CA 短名称(DS 名称)
    • error1 ErrorCode - 错误消息文本
    • error2 ErrorCode - 错误消息文本和错误代码
    • exit [Index] - 退出模块说明
    • exitcount - 退出模块计数
    • file - 文件版本
    • info - CA 信息
    • kra [Index] - KRA 证书
    • kracount - KRA 证书计数
    • krastate [Index] - KRA 证书
    • kraused - KRA 证书使用计数
    • localename - CA 区域设置名称
    • name - CA 名称
    • ocsp [Index] - OCSP URL
    • parent - 父 CA
    • policy - 策略模块说明
    • product - 产品版本
    • propidmax - 最大 CA PropId
    • role - 角色分离
    • sanitizedname - 净化的 CA 名称
    • sharedfolder - 共享文件夹
    • subjecttemplateoids - 使用者模板 OID
    • templates - 模板
    • type - CA 类型
    • xchg [Index] - CA 交换证书
    • xchgchain [Index] - CA 交换证书链
    • xchgcount - CA 交换证书计数
    • xchgcrlchain [Index] - 带有 CRL 的 CA 交换证书链
  • index 是从零开始的可选属性索引。
  • errorcode 是数字错误代码。

选项:

[-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 是输出文件
  • Index 是 CA 证书续订索引(默认设置为最新)

选项:

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

-ca.chain

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

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

其中:

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

选项:

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

-GetCRL

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

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

其中:

  • Index 是 CRL 索引或密钥索引(默认设置为最新密钥的 CRL)
  • delta 是增量 CRL(默认设置为基础 CRL)。

选项:

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

-CRL

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

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

其中:

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

选项:

[-split] [-config Machine\CAName]

-shutdown

关闭 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 会忽略未处理的续订请求并生成新请求。

-schema

转储证书的架构。

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

其中:

  • 该命令默认对请求和证书表运行。
  • Ext 是扩展表
  • Attribute 是属性表
  • CRL 是 CRL 表

选项:

[-split] [-config Machine\CAName]

-view

转储证书视图。

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

其中:

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

选项:

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

注解

  • 若要显示所有条目的 StatusCode 列,请键入 -out StatusCode
  • 若要显示最后一个条目的所有列,请键入:-restrict RequestId==$
  • 若要显示三个请求的 RequestId 和 Disposition,请键入:-restrict requestID>=37,requestID<40 -out requestID,disposition
  • 要显示所有基 CRL 的行 ID 和 CRL 编号,请键入:-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,然后基于该扩展限制视图。

-db

转储原始数据库。

certutil [options] -db

选项:

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

-deleterow

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

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

其中:

  • Request 根据提交日期删除失败和挂起的请求
  • Cert 根据过期日期删除已过期和已吊销的证书
  • 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

注意

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

-backup

备份 Active Directory 证书服务。

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

其中:

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

选项:

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

-backupDB

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

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

其中:

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

选项:

[-f] [-config Machine\CAName]

-backupkey

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

certutil [options] -backupkey BackupDirectory

其中:

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

选项:

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

-restore

还原 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 文件。
  • Modifiers 是逗号分隔的列表,其中可能包含下列其中一项或多项
    • CryptoAlgorithm= 指定用于加密 PFX 文件的加密算法,例如 TripleDES-Sha1Aes256-Sha256
    • EncryptCert - 使用密码加密与证书关联的私钥。
    • ExportParameters - 除了证书和私钥外,还导出私钥参数。
    • ExtendedProperties - 包括与输出文件中的证书关联的所有扩展属性。
    • NoEncryptCert - 导出私钥而不对其进行加密。
    • NoChain - 不导入证书链
    • NoRoot - 不导入根证书

-importPFX

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

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

其中:

  • CertificateStoreName 是证书存储的名称
  • PFXFile 是要导入的 PFX 文件。
  • Modifiers 是逗号分隔的列表,其中可能包含下列其中一项或多项
    • AT_KEYEXCHANGE - 将密钥规范更改为密钥交换
    • AT_SIGNATURE - 将密钥规范更改为签名
    • ExportEncrypted - 导出与具有密码加密的证书关联的私钥。
    • FriendlyName= - 指定导入的证书的易记名称。
    • KeyDescription= - 指定与导入的证书关联的私钥的说明。
    • KeyFriendlyName= - 指定与导入的证书关联的私钥的易记名称。
    • NoCert - 不导入证书
    • NoChain - 不导入证书链
    • NoExport - 将私钥设为不可导出
    • NoProtect - 不使用密码保护密钥
    • NoRoot - 不导入根证书
    • Pkcs8 - 对 PFX 文件中的私钥使用 PKCS8 格式。
    • Protect - 使用密码保护密钥
    • 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]

-store

转储证书存储。

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

-UI

调用 certutil 接口。

certutil [options] -UI File [import]

-TPMInfo

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

certutil [options] -TPMInfo

选项:

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

-attest

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

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 企业存储。
  • RootCA 将证书发布到 DS 受信任根存储。
  • SubCA 将 CA 证书发布到 DS CA 对象。
  • CrossCA 将交叉证书发布到 DS CA 对象。
  • KRA 将证书发布到 DS 密钥恢复代理对象。
  • User 将证书发布到用户 DS 对象。
  • Machine 将证书发布到计算机 DS 对象。
  • CRLfile 是要发布的 CRL 文件的名称。
  • DSCDPContainer 是 DS CDP 容器 CN,通常是 CA 计算机名称。
  • DSCDPCN 是 DS CDP 对象 CN,基于净化的 CA 短名称和密钥索引

选项:

[-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]

-Template

显示证书注册策略模板。

选项:

certutil [options] -Template [Template]

选项:

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

-TemplateCAs

显示证书模板的证书颁发机构 (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 sitename

注意

有关为 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 凭据
    • Anonymous - 使用匿名 SSL 凭据
  • delete 删除与 CA 关联的指定 URL。
  • Priority 默认设置为 1(如果添加 URL 时未指定)
  • Modifiers 是逗号分隔的列表,其中包含下列其中一项或多项
    • AllowRenewalsOnly 只能通过此 URL 将续订请求提交到此 CA
    • AllowKeyBasedRenewal 允许使用在 AD 中没有关联帐户的证书。 仅当使用 ClientCertificate 和 AllowRenewalsOnly 模式时,这一点才适用

选项:

[-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]

-Policy

显示注册策略。

certutil [options] -Policy

选项:

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

-PolicyCache

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

certutil [options] -PolicyCache [delete]

其中:

  • 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 前缀。
  • add 添加凭据存储条目。 使用此选项还需要提供 SSL 凭据。
  • delete 删除凭据存储条目。
  • -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 运行。
  • delete 从当前用户的本地缓存中删除相关 URL。
  • -f 强制提取特定的 URL 并更新缓存。

选项:

[-f] [-split]

-pulse

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

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

其中:

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

选项:

[-user]

-MachineInfo

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

certutil [options] -MachineInfo DomainName\MachineName$

-DCInfo

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

certutil [options] -DCInfo [Domain] [Verify | DeleteBad | DeleteAll]
  • Modifiers

    • Verify
    • DeleteBad
    • DeleteAll

选项:

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

提示

Windows Server 2012 中添加了用于指定 Active Directory 域服务 (AD DS) 域 [Domain] 和指定域控制器 (-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]

-key

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

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 或本地密钥执行。

-verify

验证证书、证书吊销列表 (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 是必需的颁发策略 ObjectId 的可选逗号分隔列表
  • CACertFile 是作为验证依据的可选颁发 CA 证书
  • CrossedCACertFile 是 CertFile 交叉验证的可选证书
  • CRLFile 是用于验证 CACertFile 的 CRL 文件
  • IssuedCertFile 是 CRLfile 涵盖的可选已颁发证书
  • DeltaCRLFile 是可选的增量 CRL 文件
  • Modifiers
    • Strong - 强签名验证
    • MSRoot - 必须链接到 Microsoft 根
    • MSTestRoot - 必须链接到 Microsoft 测试根
    • AppRoot - 必须链接到 Microsoft 应用程序根
    • EV - 强制实施扩展验证策略

选项:

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

注解

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

-verifyCTL

验证 AuthRoot 或禁止的证书 CTL。

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

其中:

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

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

  • CertFile 指定要验证的证书。 根据 CTL 条目匹配证书并显示结果。 此选项会抑制大部分默认输出。

选项:

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

-syncWithWU

将证书与 Windows 更新同步。

certutil [options] -syncWithWU DestinationDir

其中:

  • DestinationDir 是指定的目录。
  • f 强制覆盖
  • Unicode 以 Unicode 格式写入重定向输出
  • gmt 将时间显示为格林威治标准时间
  • seconds 显示时间(以秒和毫秒为单位)
  • v 是一个详细操作
  • PIN 是智能卡 PIN。
  • WELL_KNOWN_SID_TYPE 是一个数字 SID
    • 22 - 本地系统
    • 23 - 本地服务
    • 24 - 网络服务

备注

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

  • authrootstl.cab 包含非 Microsoft 根证书的 CTL。
  • disallowedcertstl.cab 包含不受信任证书的 CTL。
  • disallowedcert.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 是并发下载的可选最大线程数。 默认为 10
  • Modifiers 是以下一个或多个逗号分隔列表:
    • DownloadOnce - 下载一次并退出。
    • ReadOcsp - 读取 OcspDir 而不是写入。

-generateHpkpHeader

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

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

其中:

  • CertFileOrDir 是证书的文件或目录,它是 pin-sha256 的源。
  • MaxAge 是以秒为单位的最大期限值。
  • ReportUri 是可选的 report-uri。
  • Modifiers 是以下一个或多个逗号分隔列表:
    • 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
  • Modifiers 是以下一个或多个逗号分隔列表:

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

-addEccCurve

添加 ECC 曲线。

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

其中:

  • CurveClass 是 ECC 曲线类类型:

    • WEIERSTRASS(默认)
    • MONTGOMERY
    • 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]

-sign

为证书吊销列表 (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 输出文件的逗号分隔列表。 文件数必须与 infilelist 匹配。

  • 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 凭据
  • Modifiers

    • AllowRenewalsOnly 仅允许通过 URL 向证书颁发机构提交续订请求
    • AllowKeyBasedRenewal 允许使用在 Active Directory 中没有关联帐户的证书。 与 ClientCertificate 和 AllowRenewalsOnly 模式配合使用时,这一点适用

选项:

[-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 模板的客户端的策略。 此选项仅适用于 UserName 和 ClientCertificate 身份验证

-deletePolicyServer

根据需要删除策略服务器应用程序和应用程序池。 此命令不会删除二进制文件或包。

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

其中:

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

-Class

显示 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 编号(十进制)
  • AlgId 是 objectID 查找的十六进制 ID
  • AlgorithmName 是 objectID 查找的算法名称
  • DisplayName 显示要存储在 DS 中的名称
  • Delete 删除显示名称
  • LanguageId 是语言 ID 值(默认设置为当前值:1033)。
  • Type 是要创建的 DS 对象的类型,包括
    • 1 - 模板(默认值)
    • 2 - 颁发策略
    • 3 - 应用程序策略
  • -f 创建 DS 对象。

选项:

[-f]

-error

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

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

选项:

[-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。
  • 注册表别名:
    • Config
    • CA
    • Policy - PolicyModules
    • Exit - ExitModules
    • Restore - RestoreInProgress
    • Template - Software\Microsoft\Cryptography\CertificateTemplateCache
    • Enroll - 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 使用证书颁发机构的注册表项。
  • restore 使用证书颁发机构的 restore 注册表项。
  • policy 使用策略模块的注册表项。
  • exit 使用第一个退出模块的注册表项。
  • template 使用模板注册表项(将 -user 用于用户模板)。
  • enroll 使用注册注册表项(将 -user 用于用户上下文)。
  • chain 使用链配置注册表项。
  • PolicyServers 使用策略服务器注册表项
  • ProgId 使用策略或退出模块的 ProgID(注册表子项名称)
  • RegistryValueName 使用注册表值名称(将 Name* 用于前缀匹配)
  • Value 使用新的数字、字符串或日期注册表值或文件名。 如果数值以 +- 开头,则会在现有注册表值中设置或清除新值中指定的位。

选项:

[-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 使用证书颁发机构的注册表项。
  • restore 使用证书颁发机构的 restore 注册表项。
  • policy 使用策略模块的注册表项。
  • exit 使用第一个退出模块的注册表项。
  • template 使用模板注册表项(将 -user 用于用户模板)。
  • enroll 使用注册注册表项(将 -user 用于用户上下文)。
  • chain 使用链配置注册表项。
  • PolicyServers 使用策略服务器注册表项
  • ProgId 使用策略或退出模块的 ProgID(注册表子项名称)
  • RegistryValueName 使用注册表值名称(将 Name* 用于前缀匹配)
  • Value 使用新的数字、字符串或日期注册表值或文件名。 如果数值以 +- 开头,则会在现有注册表值中设置或清除新值中指定的位。

选项:

[-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。
  • 注册表别名:
    • Config
    • CA
    • Policy - PolicyModules
    • Exit - ExitModules
    • Restore - RestoreInProgress
    • Template - Software\Microsoft\Cryptography\CertificateTemplateCache
    • Enroll - 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

其中:

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

选项:

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

备注

  • 对于 retrieve,将截断任何扩展名,并为每个密钥恢复 Blob 追加特定于证书的字符串和 .rec 扩展名。 每个文件包含一个证书链和一个关联的私钥,包含的内容仍然在一个或多个密钥恢复代理证书中加密。
  • 对于 recover,将截断任何扩展名,并追加 .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 输出文件的名称
  • Modifiers 是以下一个或多个逗号分隔列表:
    • ExtendedProperties 包含任何扩展属性
    • NoEncryptCert 指定不加密证书。
    • EncryptCert 指定要加密证书。

选项:

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

备注

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

-convertEPF

将 PFX 文件转换为 EPF 文件。

certutil [options] -ConvertEPF PFXInFileList EPFOutFile [cast | cast-] [V3CACertId][,Salt]

其中:

  • PFXInFileList 是 PFX 输入文件的逗号分隔列表
  • EPFOutFile 是 PFX 输出文件的名称
  • EPF 是 EPF 输出文件的名称。
  • cast 使用 CAST 64 加密。
  • cast- 使用 CAST 64 加密(导出)
  • V3CACertId 是 V3 CA 证书匹配令牌。 有关详细信息,请参阅本文中的 -store 参数。
  • Salt 是 EPF 输出文件 salt 字符串

选项:

[-f] [-Silent] [-split] [-dc DCName] [-p Password] [-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 显示参数和选项的详细列表。

选项

本部分根据命令定义可指定的所有选项。 每个参数包括有关可以使用哪些选项的信息。

选项 说明
-admin 将 ICertAdmin2 用于 CA 属性。
-anonymous 使用匿名 SSL 凭据。
-cert CertId 签名证书。
-clientcertificate clientCertId 使用 X.509 证书 SSL 凭据。 对于选择 UI,请使用 -clientcertificate
-config Machine\CAName 证书颁发机构和计算机名字符串。
-csp provider 提供程序:
KSP - Microsoft 软件密钥存储提供程序
TPM - Microsoft 平台加密提供程序
NGC - Microsoft Passport 密钥存储提供程序
SC - Microsoft 智能卡密钥存储提供程序
-dc DCName 以特定域控制器为目标。
-enterprise 使用本地计算机企业注册表证书存储。
-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 password 密码
-pin PIN 智能卡 PIN。
-policyserver URLorID 策略服务器 URL 或 ID。 对于选择 U/I,请使用 -policyserver。 对于所有策略服务器,请使用 -policyserver *
-privatekey 显示密码和私钥数据。
-protect 使用密码保护密钥。
-protectto SAMnameandSIDlist 逗号分隔的 SAM 名称/SID 列表。
-restrict restrictionlist 逗号分隔的限制列表。 每个限制由列名、关系运算符和常量整数、字符串或日期组成。 可以在一个列名前面添加加号或减号来指示排序顺序。 例如:requestID = 47+requestername >= a, requestername-requestername > DOMAIN, Disposition = 21
-reverse 反向日志和队列列。
-seconds 使用秒和毫秒显示时间。
-service 使用服务证书存储。
-sid 数值 SID:
22 - 本地系统
23 - 本地服务
24 - 网络服务
-silent 使用 silent 标志获取加密上下文。
-split 拆分嵌入的 ASN.1 元素并保存到文件。
-sslpolicy servername 与 ServerName 匹配的 SSL 策略。
-symkeyalg symmetrickeyalgorithm[,keylength] 具有可选密钥长度的对称密钥算法的名称。 例如 AES,1283DES
-syncWithWU DestinationDir 与 Windows 更新同步。
-t timeout URL 提取超时,以毫秒为单位。
-Unicode 以 Unicode 格式写入重定向输出。
-UnicodeText 以 Unicode 格式写入输出文件。
-urlfetch 检索并验证 AIA 证书和 CDP CRL。
-user 使用 HKEY_CURRENT_USER 注册表项或证书存储。
-username username 使用 SSL 凭据的命名帐户。 对于选择 UI,请使用 -username
-ut 显示用户模板。
-v 提供更详细的信息(详细级别)。
-v1 使用 V1 接口。

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

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