certutil
Certutil.exe是作为证书服务的一部分安装的命令行程序。 可以使用 certutil.exe 转储和显示证书颁发机构 (CA) 配置信息、配置证书服务、备份和还原 CA 组件,以及验证证书、密钥对和证书链。
如果 certutil 在证书颁发机构上运行,且没有其他参数,则它将显示当前的证书颁发机构配置。 如果 certutil 在非证书颁发机构上运行,则命令默认为运行命令 certutil [-dump]
。
重要
早期版本的 certutil 可能不会提供本文档中所述的所有选项。 可以通过运行 certutil -?
或 certutil <parameter> -?
来查看特定版本的 certutil 提供的所有选项。
参数
-转 储
转储配置信息或文件。
certutil [options] [-dump]
certutil [options] [-dump] file
[-f] [-silent] [-split] [-p password] [-t timeout]
-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]
-解码
解码 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。
如果最后一个参数可以解析为日期,则将其视为 Date。
如果最后一个参数以
\@
开头,则令牌的其余部分将作为包含二进制数据或 ascii-text 十六进制转储的文件名。如果最后一个参数是任何其他参数,则将其视为字符串。
-撤销
吊销证书。
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 中删除
-1. Unrevoke - Unrevoke
[-config Machine\CAName]
-isvalid
显示当前证书的处置。
certutil [options] -isvalid serialnumber | certhash
[-config Machine\CAName]
-getconfig
获取默认配置字符串。
certutil [options] -getconfig
[-config Machine\CAName]
-坪
尝试联系 Active Directory 证书服务请求接口。
certutil [options] -ping [maxsecondstowait | camachinelist]
其中:
- camachinelist 是 CA 计算机名称的逗号分隔列表。 对于单台计算机,请使用终止逗号。 此选项还显示每台 CA 计算机的站点成本。
[-config Machine\CAName]
-cainfo
显示有关证书颁发机构的信息。
certutil [options] -cainfo [infoname [index | errorcode]]
其中:
infoname 根据以下 infoname 参数语法指示要显示的 CA 属性:
文件 - 文件版本
产品 - 产品版本
exitcount - 退出模块计数
退出
[index]
- 退出模块说明策略 - 策略模块说明
name - CA 名称
sanitizedname - 清理的 CA 名称
dsname - 已清理 CA 短名称 (DS 名称)
sharedfolder - 共享文件夹
error1 ErrorCode - 错误消息文本
error2 ErrorCode - 错误消息文本和错误代码
类型 - CA 类型
信息 - CA 信息
父 级 - 父 CA
certcount - CA 证书计数
xchgcount - CA 交换证书计数
kracount - KRA 证书计数
kraused - KRA 证书已用计数
propidmax - 最大 CA PropId
certstate
[index]
- CA 证书certversion
[index]
- CA 证书版本certstatuscode
[index]
- CA 证书验证状态crlstate
[index]
-Crlkrastate
[index]
- KRA 证书crossstate+
[index]
- 向前交叉证书crossstate-
[index]
- 向后交叉证书证书
[index]
- CA 证书证书链
[index]
- CA 证书链certcrlchain
[index]
- 包含 CRL 的 CA 证书链xchg
[index]
- CA 交换证书xchgchain
[index]
- CA 交换证书链xchgcrlchain
[index]
- 具有 CRL 的 CA 交换证书链kra
[index]
- KRA 证书cross+
[index]
- 向前交叉证书cross-
[index]
- 向后交叉证书Crl
[index]
- 基本 CRLdeltacrl
[index]
- Delta CRLcrlstatus
[index]
- CRL 发布状态deltacrlstatus
[index]
- Delta CRL 发布状态dns - DNS 名称
角色 - 角色分离
ads - 高级服务器
模板 - 模板
Csp
[index]
- OCSP URL友邦 保险
[index]
- AIA URLCdp
[index]
- CDP URLlocalename - CA 区域设置名称
subjecttemplateoids - 主题模板 OID
* - 显示所有属性
index 是从零开始的可选属性索引。
errorcode 是数字错误代码。
[-f] [-split] [-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。
增量 仅发布增量 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
忽略未完成的续订请求,使用 生成新请求。
[-f] [-silent] [-config Machine\CAName]
-模式
转储证书的架构。
certutil [options] -schema [ext | attrib | cRL]
其中:
命令默认为“请求”和“证书”表。
ext 是扩展表。
属性 是属性表。
crl 是 CRL 表。
[-split] [-config Machine\CAName]
-视图
转储证书视图。
certutil [options] -view [queue | log | logfail | revoked | ext | attrib | crl] [csv]
其中:
queue 转储特定的请求队列。
日志 将转储已颁发或吊销的证书,以及任何失败的请求。
logfail 转储失败的请求。
吊销 将转储吊销的证书。
ext 转储扩展表。
特性 转储属性表。
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
若要显示 ,请键入:
-v -restrict crlminbase=0,crlnumber=3 -out crlrawcrl crl
若要显示整个 CRL 表,请键入:
CRL
用于
Date[+|-dd:hh]
日期限制。对相对于当前时间的日期使用
now+dd:hh
。
-db
转储原始数据库。
certutil [options] -db
[-config Machine\CAName] [-restrict RestrictionList] [-out ColumnList]
-deleterow
从服务器数据库中删除行。
certutil [options] -deleterow rowID | date [request | cert | ext | attrib | crl]
其中:
请求 根据提交日期删除失败和挂起的请求。
证书 根据到期日期删除过期和吊销的证书。
ext 删除扩展表。
attribute 删除属性表。
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
-backup
备份 Active Directory 证书服务。
certutil [options] -backup backupdirectory [incremental] [keeplog]
其中:
backupdirectory 是存储备份数据的目录。
增量 仅执行增量备份 (默认为完整备份) 。
keeplog 保留数据库日志文件, (默认值是截断日志文件) 。
[-f] [-config Machine\CAName] [-p Password]
-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] [-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 文件的目录。
[-f] [-config Machine\CAName] [-p password]
-importpfx
导入证书和私钥。 有关详细信息,请参阅 -store
本文中的 参数。
certutil [options] -importpfx [certificatestorename] pfxfile [modifiers]
其中:
certificatestorename 是证书存储的名称。
修饰符 是逗号分隔的列表,可以包含以下一项或多项:
AT_SIGNATURE - 将密钥规格更改为签名
AT_KEYEXCHANGE - 将密钥规格更改为密钥交换
NoExport - 使私钥不可导出
NoCert - 不导入证书
NoChain - 不导入证书链
NoRoot - 不导入根证书
保护 - 使用密码保护密钥
NoProtect - 不使用密码对密钥进行密码保护
[-f] [-user] [-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 匹配令牌。 这可以是序列号、SHA-1 证书、CRL、CTL 或公钥哈希、数字证书索引 (0、1 等) 、数字 CRL 索引 (.0、.1 等) 、数字 CTL 索引 (。0, ..1 等) 、公钥、签名或扩展 ObjectId、证书使用者公用名、电子邮件地址、UPN 或 DNS 名称、密钥容器名称或 CSP 名称、模板名称或 ObjectId、EKU 或应用程序策略 ObjectId 或 CRL 颁发者公用名称。 其中许多可能会导致多个匹配。
outputfile 是用于保存匹配证书的文件。
[-f] [-user] [-enterprise] [-service] [-grouppolicy] [-silent] [-split] [-dc DCName]
选项
选项
-user
访问用户存储而不是计算机存储。选项
-enterprise
访问计算机企业存储。选项
-service
访问计算机服务存储。选项
-grouppolicy
访问计算机组策略存储。
例如:
-enterprise NTAuth
-enterprise Root 37
-user My 26e0aaaf000000000004
CA .11
-addstore
向存储区添加证书。 有关详细信息,请参阅 -store
本文中的 参数。
certutil [options] -addstore certificatestorename infile
其中:
certificatestorename 是证书存储名称。
infile 是要添加到存储的证书或 CRL 文件。
[-f] [-user] [-enterprise] [-grouppolicy] [-dc DCName]
-delstore
从存储区中删除证书。 有关详细信息,请参阅 -store
本文中的 参数。
certutil [options] -delstore certificatestorename certID
其中:
certificatestorename 是证书存储名称。
certID 是证书或 CRL 匹配令牌。
[-enterprise] [-user] [-grouppolicy] [-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 是证书存储名称。
certID 是证书或 CRL 匹配令牌。
outputfile 是用于保存匹配证书的文件。
[-f] [-user] [-enterprise] [-service] [-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 是证书存储名称。
certID 是证书或 CRL 匹配令牌。
outputfile 是用于保存匹配证书的文件。
[-f] [-user] [-enterprise] [-service] [-grouppolicy] [-dc DCName]
选项
选项
-user
访问用户存储而不是计算机存储。选项
-enterprise
访问计算机企业存储。选项
-service
访问计算机服务存储。选项
-grouppolicy
访问计算机组策略存储。
例如:
-enterprise NTAuth
-enterprise Root 37
-user My 26e0aaaf000000000004
CA .11
-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 是 DS CDP 对象 CN,通常基于已清理的 CA 短名称和密钥索引。
使用
-f
创建新的 DS 对象。
[-f] [-user] [-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]
-templatecas
显示证书颁发机构 (证书模板的 CA) 。
certutil [options] -templatecas template
[-f] [-user] [-dc DCName]
-catemplates
显示证书颁发机构的模板。
certutil [options] -catemplates [template]
[-f] [-user] [-ut] [-mt] [-config Machine\CAName] [-dc DCName]
-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
可用于替代指定 站点名称 的验证错误或删除所有 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 凭据。
anonymous - 使用匿名 SSL 凭据。
delete 将删除与 CA 关联的指定 URL。
如果在添加 URL 时未指定优先级,则优先级默认为
1
。修饰符 是逗号分隔的列表,其中包括以下一项或多项:
allowrenewalsonly - 只能通过此 URL 将续订请求提交到此 CA。
allowkeybasedrenewal - 允许使用 AD 中没有关联帐户的证书。 这仅适用于 clientcertificate 和 allowrenewalsonly 模式
[-config Machine\CAName] [-dc DCName]
-adca
显示 Active Directory 证书颁发机构。
certutil [options] -adca [CAName]
[-f] [-split] [-dc DCName]
-约
显示注册策略证书颁发机构。
certutil [options] -CA [CAName | templatename]
[-f] [-user] [-silent] [-split] [-policyserver URLorID] [-anonymous] [-kerberos] [-clientcertificate clientcertID] [-username username] [-p password]
-政策
显示注册策略。
[-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]
-URLcache
显示或删除 URL 缓存条目。
certutil [options] -URLcache [URL | CRL | * [delete]]
其中:
URL 是缓存的 URL。
CRL 仅在所有缓存的 CRL URL 上运行。
* 对所有缓存的 URL 进行操作。
delete 从当前用户的本地缓存中删除相关 URL。
-f 强制提取特定 URL 并更新缓存。
[-f] [-split]
-脉冲
脉冲自动注册事件。
certutil [options] -pulse
[-user]
-machineinfo
显示有关 Active Directory 计算机对象的信息。
certutil [options] -machineinfo domainname\machinename$
-DCInfo
显示有关域控制器的信息。 默认显示不进行验证的 DC 证书。
certutil [options] -DCInfo [domain] [verify | deletebad | deleteall]
[-f] [-user] [-urlfetch] [-dc DCName] [-t timeout]
提示
Windows Server 2012中添加了指定Active Directory 域服务 (AD DS) 域 [Domain] 和指定域控制器 (-dc) 的功能。 若要成功运行命令,必须使用 属于域管理员 或 企业管理员的帐户。 此命令的行为修改如下所示:
- 1. 如果未指定域且未指定特定的域控制器,此选项将返回要从默认域控制器处理的域控制器列表。
- 2. 如果未指定域,但指定了域控制器,则会生成指定域控制器上的证书报告。
- 3. 如果指定了域,但未指定域控制器,则会生成域控制器列表以及有关列表中每个域控制器的证书的报告。
- 4. 如果指定了域和域控制器,则会从目标域控制器生成域控制器列表。 还会生成列表中每个域控制器的证书报告。
例如,假设有一个名为 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 \@in\\outputrootfile [readername]
certutil [options] -scroots view [inputrootfile | readername]
certutil [options] -scroots delete [readername]
[-f] [-split] [-p Password]
-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]]
certutil [options] -verify certfile [cacertfile [crossedcacertfile]]
certutil [options] -verify CRLfile cacertfile [issuedcertfile]
certutil [options] -verify CRLfile cacertfile [deltaCRLfile]
其中:
certfile 是要验证的证书的名称。
applicationpolicylist 是所需的 Application Policy ObjectIds 的可选逗号分隔列表。
issuancepolicylist 是所需的颁发策略 ObjectIds 的可选逗号分隔列表。
cacertfile 是用于验证的可选颁发 CA 证书。
crossedcacertfile 是由 certfile 交叉认证的可选证书。
CRLfile 是用于验证 cacertfile 的 CRL 文件。
issuedcertfile 是 CRLfile 涵盖的可选颁发的证书。
deltaCRLfile 是可选的 delta CRL 文件。
[-f] [-enterprise] [-user] [-silent] [-split] [-urlfetch] [-t timeout]
注解
使用 applicationpolicylist 将链生成限制为仅对指定的应用程序策略有效的链。
使用 颁发策略列表 将链生成限制为仅对指定颁发策略有效的链。
使用 cacertfile 根据 certfile 或 CRLfile 验证文件中的字段。
使用 issuedcertfile 针对 CRLfile 验证文件中的字段。
使用 deltaCRLfile 根据 certfile 验证文件中的字段。
如果未指定 cacertfile ,则会生成完整链,并针对 certfile 进行验证。
如果同时指定 cacertfile 和 crossedcacertfile ,则会根据 certfile 验证这两个文件中的字段。
-verifyCTL
验证 AuthRoot 或不允许的证书 CTL。
certutil [options] -verifyCTL CTLobject [certdir] [certfile]
其中:
CTLobject 标识要验证的 CTL,包括:
AuthRootWU - 从 URL 缓存读取 AuthRoot CAB 和匹配证书。 改用
-f
从 Windows 更新 下载。不允许的WU - 从 URL 缓存中读取不允许的证书 CAB 和不允许的证书存储文件。 改用
-f
从 Windows 更新 下载。AuthRoot - 读取注册表缓存的 AuthRoot CTL。 将 与 和 不受信任的证书文件一起使用
-f
,以强制更新注册表缓存的 AuthRoot 和不允许的证书 CTL。不允许 - 读取注册表缓存的不允许证书 CTL。 将 与 和 不受信任的证书文件一起使用
-f
,以强制更新注册表缓存的 AuthRoot 和不允许的证书 CTL。
CTLfilename 指定 CTL 或 CAB 文件的文件或 http 路径。
certdir 指定包含与 CTL 条目匹配的证书的文件夹。 默认为 与 CTLobject 相同的文件夹或网站。 使用 http 文件夹路径需要在末尾使用路径分隔符。 如果未指定 AuthRoot 或 不允许,则会在多个位置搜索匹配的证书,包括本地证书存储、crypt32.dll资源和本地 URL 缓存。 根据需要,使用
-f
从Windows 更新下载。certfile 指定要验证的证书 () 。 证书与 CTL 条目匹配,显示结果。 此选项禁止显示大部分默认输出。
[-f] [-user] [-split]
-标志
(CRL) 或证书重新签署证书吊销列表。
certutil [options] -sign infilelist | serialnumber | CRL outfilelist [startdate+dd:hh] [+serialnumberlist | -serialnumberlist | -objectIDlist | \@extensionfile]
certutil [options] -sign infilelist | serialnumber | CRL outfilelist [#hashalgorithm] [+alternatesignaturealgorithm | -alternatesignaturealgorithm]
其中:
infilelist 是用于修改和重新签名的证书或 CRL 文件的逗号分隔列表。
serialnumber 是要创建的证书的序列号。 不能存在有效期和其他选项。
CRL 创建一个空的 CRL。 不能存在有效期和其他选项。
outfilelist 是已修改证书或 CRL 输出文件的逗号分隔列表。 文件数必须与文件列表匹配。
startdate+dd:hh 是证书或 CRL 文件的新有效期,包括:
可选日期加
可选天数和小时有效期
如果同时指定了两者,则必须使用加号 (+) 分隔符。 使用
now[+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] [-silent] [-cert certID]
注解
使用减号 (-) 会删除序列号和扩展名。
使用加号 (+) 将序列号添加到 CRL。
可以使用列表同时从 CRL 中删除序列号和 ObjectID。
使用 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 中没有关联帐户的证书。 这适用于 与 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 模板的客户端的策略。 此选项仅适用于 用户名 和 客户端证书 身份验证。
-deletepolicyserver
如有必要,删除策略服务器应用程序和应用程序池。 此命令不会删除二进制文件或包。
certutil [options] -deletePolicyServer kerberos | username | clientcertificate [keybasedrenewal]
其中:
deletepolicyserver 要求对客户端连接到证书策略服务器使用身份验证方法,包括:
kerberos 使用 Kerberos SSL 凭据。
username 使用命名帐户进行 SSL 凭据。
clientcertificate 使用 X.509 证书 SSL 凭据。
keybasedrenewal 允许使用 KeyBasedRenewal 策略服务器。
-老
显示对象标识符或设置显示名称。
certutil [options] -oid objectID [displayname | delete [languageID [type]]]
certutil [options] -oid groupID
certutil [options] -oid agID | algorithmname [groupID]
其中:
objectID 显示 或 以添加显示名称。
groupID 是 objectIDs 枚举的 groupID 编号 (十进制) 。
algID 是 objectID 查找的十六进制 ID。
algorithmname 是 objectID 查找的算法名称。
displayname 显示要存储在 DS 中的名称。
delete 将删除显示名称。
LanguageId 是语言 ID 值, (默认为当前:1033) 。
类型 是要创建的 DS 对象的类型,包括:
1
- 模板 (默认)2
- 颁发策略3
- 应用程序策略
-f
创建 DS 对象。
-错误
显示与错误代码关联的消息文本。
certutil [options] -error errorcode
-getreg
显示注册表值。
certutil [options] -getreg [{ca | restore | policy | exit | template | enroll |chain | policyservers}\[progID\]][registryvaluename]
其中:
ca 使用证书颁发机构的注册表项。
还原 使用证书颁发机构的还原注册表项。
策略 使用策略模块的注册表项。
exit 使用第一个退出模块的注册表项。
template 使用模板注册表项, (用于
-user
用户模板) 。enrollment 使用注册注册表项 (用于
-user
用户上下文) 。chain 使用链配置注册表项。
policyservers 使用策略服务器注册表项。
progID 使用策略或退出模块的 ProgID (注册表子项名称) 。
registryvaluename 使用注册表值名称 (用于
Name*
为匹配) 添加前缀。value 使用新的数值、字符串或日期注册表值或文件名。 如果数值以
+
或-
开头,则会在现有注册表值中设置或清除新值中指定的位。
[-f] [-user] [-grouppolicy] [-config Machine\CAName]
注解
如果字符串值以
+
或-
开头,而现有值为 值REG_MULTI_SZ
,则会在现有注册表值中添加或删除该字符串。 若要强制创建REG_MULTI_SZ
值,请将 添加到\n
字符串值的末尾。如果值以
\@
开头,则值的其余部分是包含二进制值的十六进制文本表示形式的文件的名称。 如果它未引用有效的文件,则会将其解析为[Date][+|-][dd:hh]
- 可选的日期加号或减去可选的天数和小时数。 如果同时指定了两者,请使用加号 (+) 或减号 () 分隔符。 对相对于当前时间的日期使用now+dd:hh
。用于
chain\chaincacheresyncfiletime \@now
有效刷新缓存的 CRL。
-setreg
设置注册表值。
certutil [options] -setreg [{ca | restore | policy | exit | template | enroll |chain | policyservers}\[progID\]]registryvaluename value
其中:
ca 使用证书颁发机构的注册表项。
还原 使用证书颁发机构的还原注册表项。
策略 使用策略模块的注册表项。
exit 使用第一个退出模块的注册表项。
template 使用模板注册表项, (用于
-user
用户模板) 。enrollment 使用注册注册表项 (用于
-user
用户上下文) 。chain 使用链配置注册表项。
policyservers 使用策略服务器注册表项。
progID 使用策略或退出模块的 ProgID (注册表子项名称) 。
registryvaluename 使用注册表值名称 (用于
Name*
为匹配) 添加前缀。value 使用新的数值、字符串或日期注册表值或文件名。 如果数值以
+
或-
开头,则会在现有注册表值中设置或清除新值中指定的位。
[-f] [-user] [-grouppolicy] [-config Machine\CAName]
注解
如果字符串值以
+
或-
开头,而现有值为 值REG_MULTI_SZ
,则会在现有注册表值中添加或删除该字符串。 若要强制创建REG_MULTI_SZ
值,请将 添加到\n
字符串值的末尾。如果值以
\@
开头,则值的其余部分是包含二进制值的十六进制文本表示形式的文件的名称。 如果它未引用有效文件,则将其解析为[Date][+|-][dd:hh]
-可选日期加或减去可选天数和小时数。 如果同时指定了两者,请使用加号 (+) 或减号 () 分隔符。 用于now+dd:hh
相对于当前时间的日期。使用
chain\chaincacheresyncfiletime \@now
可有效刷新缓存的 CRL。
-delreg
删除注册表值。
certutil [options] -delreg [{ca | restore | policy | exit | template | enroll |chain | policyservers}\[progID\]][registryvaluename]
其中:
ca 使用证书颁发机构的注册表项。
还原 使用证书颁发机构的还原注册表项。
策略 使用策略模块的注册表项。
exit 使用第一个退出模块的注册表项。
template 使用模板注册表项, (用于
-user
用户模板) 。enrollment 使用注册注册表项 (用户
-user
上下文) 。chain 使用链配置注册表项。
策略服务器 使用策略服务器注册表项。
progID 使用策略或退出模块的 ProgID (注册表子项名称) 。
registryvaluename 使用注册表值名称 (用于
Name*
前缀匹配) 。value 使用新的数值、字符串或日期注册表值或文件名。 如果数值以
+
或-
开头,则会在现有注册表值中设置或清除新值中指定的位。
[-f] [-user] [-grouppolicy] [-config Machine\CAName]
注解
如果字符串值以
+
或-
开头,而现有值是值REG_MULTI_SZ
,则字符串将添加到现有注册表值或从现有注册表值中删除。 若要强制创建REG_MULTI_SZ
值,请将 添加到\n
字符串值的末尾。如果值以
\@
开头,则值的其余部分是包含二进制值的十六进制文本表示形式的文件的名称。 如果它未引用有效文件,则将其解析为[Date][+|-][dd:hh]
-可选日期加或减去可选天数和小时数。 如果同时指定了两者,请使用加号 (+) 或减号 () 分隔符。 用于now+dd:hh
相对于当前时间的日期。使用
chain\chaincacheresyncfiletime \@now
可有效刷新缓存的 CRL。
-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]
注解
可能还需要将证书颁发机构配置为支持外部证书。 为此,请键入 import - 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
其中:
如果找到多个匹配的恢复候选项,或者如果未) 指定输出文件,则脚本会生成一个脚本来检索和恢复密钥 (默认行为。
如果正好找到一个匹配的恢复候选项,并且) 指定输出文件,则 retrieve 将检索一个或多个密钥恢复 Blob (默认行为。 使用此选项将截断任何扩展,并为每个密钥恢复 Blob 追加特定于证书的字符串和 .rec 扩展。 每个文件都包含一个证书链和一个关联的私钥,这些私钥仍加密为一个或多个密钥恢复代理证书。
recover 在一个步骤中检索和恢复私钥, (需要密钥恢复代理证书和私钥) 。 使用此选项将截断任何扩展并追加 .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]
-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 [extendedproperties]
其中:
PFXinfilelist 是一个以逗号分隔的 PFX 输入文件列表。
PFXoutfile 是 PFX 输出文件的名称。
extendedproperties 包括任何扩展属性。
[-f] [-user] [-split] [-p password] [-protectto SAMnameAndSIDlist] [-csp provider]
注解
在命令行中指定的密码必须是逗号分隔的密码列表。
如果指定了多个密码,则最后一个密码将用于输出文件。 如果仅提供一个密码,或者最后一个密码为
*
,则系统会提示用户输入输出文件密码。
-convertEPF
将 PFX 文件转换为 EPF 文件。
certutil [options] -convertEPF PFXinfilelist PFXoutfile [cast | cast-] [V3CAcertID][,salt]
其中:
PFXinfilelist 是一个以逗号分隔的 PFX 输入文件列表。
PFXoutfile 是 PFX 输出文件的名称。
EPF 是 EPF 输出文件的名称。
强制转换 使用 CAST 64 加密。
cast - 使用 CAST 64 加密 (导出)
V3CAcertID 是 V3 CA 证书匹配令牌。 有关详细信息,请参阅
-store
本文中的 参数。salt 是 EPF 输出文件 salt 字符串。
[-f] [-silent] [-split] [-dc DCName] [-p password] [-csp provider]
注解
在命令行中指定的密码必须是逗号分隔的密码列表。
如果指定了多个密码,则最后一个密码将用于输出文件。 如果仅提供一个密码,或者最后一个密码为
*
,则系统会提示用户输入输出文件密码。
-?
显示参数列表。
certutil -?
certutil <name_of_parameter> -?
certutil -? -v
其中:
-? 显示参数的完整列表
-
<name_of_parameter>
-? 显示指定参数的帮助内容。-? -v 显示参数和选项的完整列表。
选项
本部分根据 命令定义能够指定的所有选项。 每个参数都包含有关哪些选项有效使用的信息。
选项 | 说明 |
---|---|
-nullsign | 使用数据的哈希作为签名。 |
-f | 强制覆盖。 |
-enterprise | 使用本地计算机企业注册表证书存储。 |
-用户 | 使用HKEY_CURRENT_USER密钥或证书存储。 |
-GroupPolicy | 使用组策略证书存储。 |
-Ut | 显示用户模板。 |
-mt | 显示计算机模板。 |
-Unicode | 在 Unicode 中写入重定向的输出。 |
-UnicodeText | 在 Unicode 中写入输出文件。 |
-Gmt | 使用 GMT 显示时间。 |
-秒 | 使用秒和毫秒显示时间。 |
-silent | silent 使用 标志获取 crypt 上下文。 |
-分裂 | 拆分嵌入的 ASN.1 元素,并保存到文件。 |
-v | 提供更详细的 (详细) 信息。 |
-privatekey | 显示密码和私钥数据。 |
-pin PIN | 智能卡 PIN。 |
-urlfetch | 检索并验证 AIA 证书和 CDP CRL。 |
-config Machine\CAName | 证书颁发机构和计算机名称字符串。 |
-policyserver URLorID | 策略服务器 URL 或 ID。 对于选择 U/I,请使用 -policyserver 。 对于所有策略服务器,请使用 -policyserver * |
-匿名 | 使用匿名 SSL 凭据。 |
-Kerberos | 使用 Kerberos SSL 凭据。 |
-clientcertificate clientcertID | 使用 X.509 证书 SSL 凭据。 对于选择 U/I,请使用 -clientcertificate 。 |
-username username | 将命名帐户用于 SSL 凭据。 对于选择 U/I,请使用 -username 。 |
-cert certID | 签名证书。 |
-dc DCName | 以特定的域控制器为目标。 |
-restrictlist | 逗号分隔的限制列表。 每个限制都包含列名、关系运算符和常量整数、字符串或日期。 一个列名称前面可以有一个加号或减号来指示排序顺序。 例如,requestID = 47 、+requestername >= a, requestername 或 -requestername > DOMAIN, Disposition = 21 |
-out columnlist | 逗号分隔的列列表。 |
-p password | 密码 |
-protectto SAMnameandSIDlist | 逗号分隔的 SAM 名称/SID 列表。 |
-csp 提供程序 | 提供程序 |
-t timeout | URL 提取超时(以毫秒为单位)。 |
-symkeyalg symmetrickeyalgorithm[,keylength] | 具有可选密钥长度的对称密钥算法的名称。 例如:AES,128 或 3DES |
相关链接
有关如何使用此命令的更多示例,请参阅