移动安全-certutil
- 游戏开发
- 2025-08-06 05:09:01

1 需求
需求1:获取应用文件的MD5
CertUtil -hashfile 文件路径 MD52 语法 C:\>certutil -? 动词: -dump -- 转储配置信息或文件 -dumpPFX -- 转储 PFX 结构 -asn -- 分析 ASN.1 文件 -decodehex -- 解码十六进制编码的文件 -decode -- 解码 Base64 编码的文件 -encode -- 将文件编码为 Base64 -deny -- 拒绝挂起的申请 -resubmit -- 重新提交挂起的申请 -setattributes -- 为挂起申请设置属性 -setextension -- 为挂起申请设置扩展 -revoke -- 吊销证书 -isvalid -- 显示当前证书部署 -getconfig -- 获取默认配置字符串 -ping -- Ping Active Directory 证书服务申请接口 -pingadmin -- Ping Active Directory 证书服务管理接口 -CAInfo -- 显示 CA 信息 -ca.cert -- 检索 CA 的证书 -ca.chain -- 检索 CA 的证书链 -GetCRL -- 获取 CRL -CRL -- 发布新的 CRL [或仅增量 CRL] -shutdown -- 关闭 Active Directory 证书服务 -installCert -- 安装证书颁发机构证书 -renewCert -- 续订证书颁发机构证书 -schema -- 转储证书架构 -view -- 转储证书视图 -db -- 转储原始数据库 -deleterow -- 删除服务器数据库行 -backup -- 备份 Active Directory 证书服务 -backupDB -- 备份 Active Directory 证书服务数据库 -backupKey -- 备份 Active Directory 证书服务证书和私钥 -restore -- 还原 Active Directory 证书服务 -restoreDB -- 还原 Active Directory 证书服务数据库 -restoreKey -- 还原 Active Directory 证书服务证书和私钥 -importPFX -- 导入证书和私钥 -dynamicfilelist -- 显示动态文件列表 -databaselocations -- 显示数据库位置 -hashfile -- 通过文件生成并显示加密哈希 -store -- 转储证书存储 -enumstore -- 枚举证书存储 -addstore -- 将证书添加到存储 -delstore -- 从存储删除证书 -verifystore -- 验证存储中的证书 -repairstore -- 修复密钥关联,或者更新证书属性或密钥安全描述符 -viewstore -- 转储证书存储 -viewdelstore -- 从存储删除证书 -UI -- 调用 CryptUI -attest -- 验证密钥证明请求 -dsPublish -- 将证书或 CRL 发布到 Active Directory -ADTemplate -- 显示 AD 模板 -Template -- 显示注册策略模板 -TemplateCAs -- 显示模板的 CA -CATemplates -- 显示 CA 的模板 -SetCASites -- 管理 CA 的站点名称 -enrollmentServerURL -- 显示、添加或删除与 CA 关联的注册服务器 URL -ADCA -- 显示 AD CA -CA -- 显示注册策略 CA -Policy -- 显示注册策略 -PolicyCache -- 显示或删除注册策略缓存项目 -CredStore -- 显示、添加或删除凭据存储项目 -InstallDefaultTemplates -- 安装默认的证书模板 -URLCache -- 显示或删除 URL 缓存项目 -pulse -- 以脉冲方式执行自动注册事件或 NGC 任务 -MachineInfo -- 显示 Active Directory 计算机对象信息 -DCInfo -- 显示域控制器信息 -EntInfo -- 显示企业信息 -TCAInfo -- 显示 CA 信息 -SCInfo -- 显示智能卡信息 -SCRoots -- 管理智能卡根证书 -DeleteHelloContainer -- 删除 Hello 登录容器。 ** 在使用此选项后, 用户需要注销才能完成。** -verifykeys -- 验证公/私钥集 -verify -- 验证证书,CRL 或链 -verifyCTL -- 验证 AuthRoot 或不允许的证书 CTL -syncWithWU -- 与 Windows 更新同步 -generateSSTFromWU -- 通过 Windows 更新生成 SST -generatePinRulesCTL -- 生成捆绑规则 CTL -downloadOcsp -- 下载 OCSP 响应并写入目录 -generateHpkpHeader -- 使用指定文件或目录中的证书生成 HPKP 头 -flushCache -- 刷新选定进程(例如 lsass.exe)中的指定缓存 -addEccCurve -- 添加 ECC 曲线 -deleteEccCurve -- 删除 ECC 曲线 -displayEccCurve -- 显示 ECC 曲线 -sign -- 重新签名 CRL 或证书 -vroot -- 创建/删除 Web 虚拟根和文件共享 -vocsproot -- 创建/删除 OCSP Web Proxy 的 Web 虚拟根 -addEnrollmentServer -- 添加注册服务器应用程序 -deleteEnrollmentServer -- 删除注册服务器应用程序 -addPolicyServer -- 添加策略服务器应用程序 -deletePolicyServer -- 删除策略服务器应用程序 -oid -- 显示 ObjectId 或设置显示名称 -error -- 显示错误代码消息文本 -getreg -- 显示注册表值 -setreg -- 设置注册表值 -delreg -- 删除注册表值 -ImportKMS -- 为密钥存档导入用户密钥和证书到服务器数据库 -ImportCert -- 将证书文件导入数据库 -GetKey -- 检索存档的私钥恢复 Blob,生成恢复脚本 或恢复存档的密钥 -RecoverKey -- 恢复存档的私钥 -MergePFX -- 合并 PFX 文件 -ConvertEPF -- 将 PFX 文件转换为 EPF 文件 -add-chain -- (-AddChain) 添加证书链 -add-pre-chain -- (-AddPrechain) 添加预植证书链 -get-sth -- (-GetSTH) 获取签名树头 -get-sth-consistency -- (-GetSTHConsistency) 获取签名树头更改 -get-proof-by-hash -- (-GetProofByHash) 获取哈希证明 -get-entries -- (-GetEntries) 获取项 -get-roots -- (-GetRoots) 获取根 -get-entry-and-proof -- (-GetEntryAndProof) 获取项和证明 -VerifyCT -- 验证证书 SCT -? -- 显示该用法消息 CertUtil -? -- 显示动词列表(命名列表) CertUtil -dump -? -- 显示 "dump" 动词的帮助文本 CertUtil -v -? -- 显示所有动词的所有帮助文本 CertUtil: -? 命令成功完成。
C:\>certutil -v -? 动词: -dump -- 转储配置信息或文件 -dumpPFX -- 转储 PFX 结构 -asn -- 分析 ASN.1 文件 -decodehex -- 解码十六进制编码的文件 -decode -- 解码 Base64 编码的文件 -encode -- 将文件编码为 Base64 -deny -- 拒绝挂起的申请 -resubmit -- 重新提交挂起的申请 -setattributes -- 为挂起申请设置属性 -setextension -- 为挂起申请设置扩展 -revoke -- 吊销证书 -isvalid -- 显示当前证书部署 -getconfig -- 获取默认配置字符串 -ping -- Ping Active Directory 证书服务申请接口 -pingadmin -- Ping Active Directory 证书服务管理接口 -CAInfo -- 显示 CA 信息 -ca.cert -- 检索 CA 的证书 -ca.chain -- 检索 CA 的证书链 -GetCRL -- 获取 CRL -CRL -- 发布新的 CRL [或仅增量 CRL] -shutdown -- 关闭 Active Directory 证书服务 -installCert -- 安装证书颁发机构证书 -renewCert -- 续订证书颁发机构证书 -schema -- 转储证书架构 -view -- 转储证书视图 -db -- 转储原始数据库 -deleterow -- 删除服务器数据库行 -backup -- 备份 Active Directory 证书服务 -backupDB -- 备份 Active Directory 证书服务数据库 -backupKey -- 备份 Active Directory 证书服务证书和私钥 -restore -- 还原 Active Directory 证书服务 -restoreDB -- 还原 Active Directory 证书服务数据库 -restoreKey -- 还原 Active Directory 证书服务证书和私钥 -importPFX -- 导入证书和私钥 -dynamicfilelist -- 显示动态文件列表 -databaselocations -- 显示数据库位置 -hashfile -- 通过文件生成并显示加密哈希 -store -- 转储证书存储 -enumstore -- 枚举证书存储 -addstore -- 将证书添加到存储 -delstore -- 从存储删除证书 -verifystore -- 验证存储中的证书 -repairstore -- 修复密钥关联,或者更新证书属性或密钥安全描述符 -viewstore -- 转储证书存储 -viewdelstore -- 从存储删除证书 -UI -- 调用 CryptUI -attest -- 验证密钥证明请求 -dsPublish -- 将证书或 CRL 发布到 Active Directory -ADTemplate -- 显示 AD 模板 -Template -- 显示注册策略模板 -TemplateCAs -- 显示模板的 CA -CATemplates -- 显示 CA 的模板 -SetCASites -- 管理 CA 的站点名称 -enrollmentServerURL -- 显示、添加或删除与 CA 关联的注册服务器 URL -ADCA -- 显示 AD CA -CA -- 显示注册策略 CA -Policy -- 显示注册策略 -PolicyCache -- 显示或删除注册策略缓存项目 -CredStore -- 显示、添加或删除凭据存储项目 -InstallDefaultTemplates -- 安装默认的证书模板 -URLCache -- 显示或删除 URL 缓存项目 -pulse -- 以脉冲方式执行自动注册事件或 NGC 任务 -MachineInfo -- 显示 Active Directory 计算机对象信息 -DCInfo -- 显示域控制器信息 -EntInfo -- 显示企业信息 -TCAInfo -- 显示 CA 信息 -SCInfo -- 显示智能卡信息 -SCRoots -- 管理智能卡根证书 -DeleteHelloContainer -- 删除 Hello 登录容器。 ** 在使用此选项后, 用户需要注销才能完成。** -verifykeys -- 验证公/私钥集 -verify -- 验证证书,CRL 或链 -verifyCTL -- 验证 AuthRoot 或不允许的证书 CTL -syncWithWU -- 与 Windows 更新同步 -generateSSTFromWU -- 通过 Windows 更新生成 SST -generatePinRulesCTL -- 生成捆绑规则 CTL -downloadOcsp -- 下载 OCSP 响应并写入目录 -generateHpkpHeader -- 使用指定文件或目录中的证书生成 HPKP 头 -flushCache -- 刷新选定进程(例如 lsass.exe)中的指定缓存 -addEccCurve -- 添加 ECC 曲线 -deleteEccCurve -- 删除 ECC 曲线 -displayEccCurve -- 显示 ECC 曲线 -sign -- 重新签名 CRL 或证书 -vroot -- 创建/删除 Web 虚拟根和文件共享 -vocsproot -- 创建/删除 OCSP Web Proxy 的 Web 虚拟根 -addEnrollmentServer -- 添加注册服务器应用程序 -deleteEnrollmentServer -- 删除注册服务器应用程序 -addPolicyServer -- 添加策略服务器应用程序 -deletePolicyServer -- 删除策略服务器应用程序 -oid -- 显示 ObjectId 或设置显示名称 -error -- 显示错误代码消息文本 -getreg -- 显示注册表值 -setreg -- 设置注册表值 -delreg -- 删除注册表值 -ImportKMS -- 为密钥存档导入用户密钥和证书到服务器数据库 -ImportCert -- 将证书文件导入数据库 -GetKey -- 检索存档的私钥恢复 Blob,生成恢复脚本 或恢复存档的密钥 -RecoverKey -- 恢复存档的私钥 -MergePFX -- 合并 PFX 文件 -ConvertEPF -- 将 PFX 文件转换为 EPF 文件 -add-chain -- (-AddChain) 添加证书链 -add-pre-chain -- (-AddPrechain) 添加预植证书链 -get-sth -- (-GetSTH) 获取签名树头 -get-sth-consistency -- (-GetSTHConsistency) 获取签名树头更改 -get-proof-by-hash -- (-GetProofByHash) 获取哈希证明 -get-entries -- (-GetEntries) 获取项 -get-roots -- (-GetRoots) 获取根 -get-entry-and-proof -- (-GetEntryAndProof) 获取项和证明 -VerifyCT -- 验证证书 SCT -? -- 显示该用法消息 用法: CertUtil [选项] [-dump] CertUtil [选项] [-dump] [文件] 转储配置信息或文件 [-f] [-user] [-Silent] [-split] [-p 密码] [-t 超时] CertUtil [选项] -dumpPFX 文件 转储 PFX 结构 [-f] [-Silent] [-split] [-p 密码] [-csp 提供程序] CertUtil [选项] -asn 文件[类型] 分析 ASN.1 文件 类型 -- 数值 CRYPT_STRING_* 解码类型 CertUtil [选项] -decodehex InFile OutFile [type] 解码十六进制编码的文件 类型 -- 数值 CRYPT_STRING_* 编码类型 [-f] CertUtil [选项] -decode InFile OutFile 解码 Base64 编码的文件 [-f] CertUtil [选项] -encode InFile OutFile 将文件编码为 Base64 [-f] [-UnicodeText] CertUtil [选项] -deny RequestId 拒绝挂起的申请 [-config Machine\CAName] CertUtil [选项] -resubmit RequestId 重新提交挂起的申请 [-config Machine\CAName] CertUtil [选项] -setattributes RequestId AttributeString 为挂起申请设置属性 RequestId -- 挂起申请的数字申请 Id AttributeString -- 申请属性名和值对 名称和值用冒号分隔。 多名称、值对在不同的行。 示例: "CertificateTemplate:User\nEMail:User@Domain.com" 每个 "\n" 序列被转换为新行分隔符。 [-config Machine\CAName] CertUtil [选项] -setextension RequestId ExtensionName Flags {Long | Date | String | @InFile} 为挂起申请设置扩展 RequestId -- 挂起申请的数字申请 Id ExtensionName -- 扩展的 ObjectId 字符串 Flags -- 0 为推荐的。1 标识扩展是关键的, 2 禁用它,3 两者都执行。 如果最后一个参数为数字,它将作为 Long 被接受。 如果它可以被分析为日期,它将被作为日期接受。 如果它以 '@' 开头,则此标识的其余部分为包含二进制数据或 ASCII 文本十六进制转储的文件名。 其他情况都将作为 String 接受。 [-config Machine\CAName] CertUtil [选项] -revoke SerialNumber [Reason] 吊销证书 SerialNumber -- 要吊销的证书序列号列表(以逗号分隔) Reason -- 吊销原因(数字或符号): 0: CRL_REASON_UNSPECIFIED -- 未指定(默认) 1: CRL_REASON_KEY_COMPROMISE -- 密钥泄漏 2: CRL_REASON_CA_COMPROMISE -- CA 泄漏 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] CertUtil [选项] -isvalid SerialNumber | CertHash 显示当前证书部署 [-config Machine\CAName] CertUtil [选项] -getconfig 获取默认配置字符串 [-config Machine\CAName] CertUtil [选项] -ping [MaxSecondsToWait | CAMachineList] Ping Active Directory 证书服务申请接口 CAMachineList -- 以逗号分隔的 CA 计算机名称列表 对于单个计算机,请使用结束逗号 显示每个 CA 计算机的站点开销 [-config Machine\CAName] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName 用户名] [-p 密码] 修饰符: SCEP CES CEP CertUtil [选项] -pingadmin Ping Active Directory 证书服务管理接口 [-config Machine\CAName] CertUtil [选项] -CAInfo [InfoName [Index | ErrorCode]] 显示 CA 信息 InfoName -- 表示要显示的 CA 属性(参见下面) 为所有属性使用 "*" Index -- 从零开始的属性索引(可选) ErrorCode -- 错误代码(数字) [-f] [-split] [-config Machine\CAName] InfoName 参数语法: file -- 文件版本 product -- 产品版本 exitcount -- 退出模块计数 exit [Index] -- 退出模块描述 policy -- 策略模块描述 name -- CA 名称 sanitizedname -- 整理过的 CA 名称 dsname -- 净化的 CA 短名称(DS 名称) sharedfolder -- 共享文件夹 error1 错误代码 -- 错误消息文本 error2 错误代码 -- 错误消息文本和错误代码 type -- CA 类型 info -- CA 信息 parent -- 父 CA certcount -- CA 证书计数 xchgcount -- CA 交换证书计数 kracount -- KRA 证书计数 kraused -- KRA 证书使用计数 propidmax -- 最大 CA PropId certstate [Index] -- CA 证书 certversion [Index] -- CA 证书版本 certstatuscode [Index] -- CA 证书验证状态 crlstate [Index] -- CRL krastate [Index] -- KRA 证书 crossstate+ [Index] -- 前向交叉证书 crossstate- [Index] -- 后向交叉证书 cert [Index] -- CA 证书 certchain [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] -- 基 CRL deltacrl [Index] -- 增量 CRL crlstatus [Index] -- CRL 发布状态 deltacrlstatus [Index] -- 增量 CRL 发布状态 dns -- DNS 名称 role -- 角色分离 ads -- Advanced Server templates -- 模板 ocsp [Index] -- OCSP URL aia [Index] -- AIA URL cdp [Index] -- CDP URL localename -- CA 区域名称 subjecttemplateoids -- 使用者模板 OID CertUtil [选项] -ca.cert OutCACertFile [Index] 检索 CA 的证书 OutCACertFile -- 输出文件 Index -- CA 证书续订索引(默认为最新的) [-f] [-split] [-config Machine\CAName] CertUtil [选项] -ca.chain OutCACertChainFile [Index] 检索 CA 的证书链 OutCACertChainFile -- 输出文件 Index -- CA 证书续订索引(默认为最新的) [-f] [-split] [-config Machine\CAName] CertUtil [选项] -GetCRL OutFile [Index] [delta] 获取 CRL Index -- CRL 索引或密钥索引(对最新的密钥默认到 CRL) delta -- 增量 CRL(默认为基 CRL) [-f] [-split] [-config Machine\CAName] CertUtil [选项] -CRL [dd:hh | republish] [delta] 发布新的 CRL [或仅增量 CRL] dd:hh -- 新 CRL 的有效期(以天和小时计) republish -- 重新发布最新的 CRL delta -- 仅增量 CRL(默认为基和增量 CRL) [-split] [-config Machine\CAName] CertUtil [选项] -shutdown 关闭 Active Directory 证书服务 [-config Machine\CAName] CertUtil [选项] -installCert [CACertFile] 安装证书颁发机构证书 [-f] [-Silent] [-config Machine\CAName] CertUtil [选项] -renewCert [ReuseKeys] [Machine\ParentCAName] 续订证书颁发机构证书 使用 -f 来忽略未完成的续订申请,并且生成新的申请。 [-f] [-Silent] [-config Machine\CAName] CertUtil [选项] -schema [Ext | Attrib | CRL] 转储证书架构 默认到申请和证书表 Ext -- 扩展表 Attrib -- 属性表 CRL -- CRL 表 [-split] [-config Machine\CAName] CertUtil [选项] -view [Queue | Log | LogFail | Revoked | Ext | Attrib | CRL] [csv] 转储证书视图 Queue -- 请求队列 Log -- 已颁发或吊销的证书,以及失败的请求 LogFail -- 失败的请求 Revoked -- 已吊销的证书 Ext -- 扩展表 Attrib -- 属性表 CRL -- CRL 表 csv -- 以逗号分隔值输出 显示所有项目的 StatusCode 栏: -out StatusCode 显示最后项目的所有栏: -restrict "RequestId==$" 显示三个请求的 RequestId 和部署: -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" 用于相对于当前时间的日期 [-Silent] [-split] [-config Machine\CAName] [-restrict 限制列表] [-out 栏列表] CertUtil [选项] -db 转储原始数据库 [-config Machine\CAName] [-restrict 限制列表] [-out 栏列表] CertUtil [选项] -deleterow RowId | Date [Request | Cert | Ext | Attrib | CRL] 删除服务器数据库行 Request -- 失败并被挂起的申请(提交日期) Cert -- 过期并被吊销的证书(过期日期) Ext -- 扩展表 Attrib -- 属性表 CRL -- CRL 表(过期日期) 删除提交时间为 1/22/2001 的失败并被挂起的申请: 1/22/2001 Request 删除在 1/22/2001 过期的所有证书: 1/22/2001 Cert 删除 RequestId 37 的证书行,属性和扩展: 37 删除在 1/22/2001 过期的 CRL: 1/22/2001 CRL [-f] [-config Machine\CAName] CertUtil [选项] -backup BackupDirectory [Incremental] [KeepLog] 备份 Active Directory 证书服务 BackupDirectory -- 存储备份数据的目录 Incremental -- 仅执行增量备份(默认为完整备份) KeepLog -- 保留数据库日志文件(默认为截断日志文件) [-f] [-config Machine\CAName] [-p 密码] [-ProtectTo SAMNameAndSIDList] CertUtil [选项] -backupDB BackupDirectory [Incremental] [KeepLog] 备份 Active Directory 证书服务数据库 BackupDirectory -- 存储备份数据库文件的目录 Incremental -- 仅执行增量备份(默认为完整备份) KeepLog -- 保留数据库日志文件(默认为截断日志文件) [-f] [-config Machine\CAName] CertUtil [选项] -backupKey BackupDirectory 备份 Active Directory 证书服务证书和私钥 BackupDirectory -- 存储备份 PFX 文件的目录 [-f] [-config Machine\CAName] [-p 密码] [-ProtectTo SAMNameAndSIDList] [-t 超时] CertUtil [选项] -restore BackupDirectory 还原 Active Directory 证书服务 BackupDirectory -- 包含要还原的数据的目录 [-f] [-config Machine\CAName] [-p 密码] CertUtil [选项] -restoreDB BackupDirectory 还原 Active Directory 证书服务数据库 BackupDirectory -- 包含要还原的数据库文件的目录 [-f] [-config Machine\CAName] CertUtil [选项] -restoreKey BackupDirectory | PFXFile 还原 Active Directory 证书服务证书和私钥 BackupDirectory -- 包含要还原的 PFX 文件的目录 PFXFile -- 要还原的 PFX 文件 [-f] [-config Machine\CAName] [-p 密码] CertUtil [选项] -importPFX [CertificateStoreName] PFXFile [Modifiers] 导入证书和私钥 CertificateStoreName -- 证书存储名称。请参见 -store。 PFXFile -- 要导入的 PFX 文件 Modifiers -- 包含下面的一项或多项内容的列表(以逗号分隔): AT_SIGNATURE -- 将 KeySpec 更改为签名 AT_KEYEXCHANGE -- 将 KeySpec 更改为密钥交换 NoExport -- 将私钥设置为无法导出 NoCert -- 不导入证书 NoChain -- 不导入证书链 NoRoot -- 不导入根证书 Protect -- 使用密码保护密钥 NoProtect -- 不使用密码保护密钥 默认为个人计算机存储。 [-f] [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-p 密码] [-csp 提供程序] 修饰符: NoExport ExportEncrypted NoCert NoChain -- 仅限最终实体证书 NoRoot -- 排除根证书 NoProtect Protect ProtectHigh Pkcs8 AT_SIGNATURE AT_KEYEXCHANGE FriendlyName= KeyFriendlyName= KeyDescription= VSM CertUtil [选项] -dynamicfilelist 显示动态文件列表 [-config Machine\CAName] CertUtil [选项] -databaselocations 显示数据库位置 [-config Machine\CAName] CertUtil [选项] -hashfile InFile [HashAlgorithm] 通过文件生成并显示加密哈希 CertUtil [选项] -store [CertificateStoreName [CertId [OutputFile]]] 转储证书存储 CertificateStoreName -- 证书存储名称。示例: “My”、“CA”(默认)、“Root”, “ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?one?objectClass=certificationAuthority”(查看根证书) “ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?base?objectClass=certificationAuthority”(修改根证书) “ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?certificateRevocationList?base?objectClass=cRLDistributionPoint”(查看 CRL) “ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?base?objectClass=certificationAuthority”(企业 CA 证书) ldap: (AD 计算机对象证书) -user ldap: (AD 用户对象证书) CertId -- 证书或 CRL 匹配令牌。这可以是一个序列号, 一个 SHA-1 证书、CRL、CTL 或公钥哈希, 一个数字证书索引(0, 1, 等等), 一个数字 CRL 索引(.0, .1, 等等), 一个数字 CTL 索引(..0, ..1, 等等), 一个公钥,签名或扩展 ObjectId, 一个证书使用者公用名 一个电子邮件地址、UPN 或 DNS 名称, 一个密钥容器名称或 CSP 名称, 一个模板名称或 ObjectId, 一个 EKU 或应用程序策略 ObjectId, 或者一个 CRL 颁发者公用名。 上面这些可能会产生多重匹配。 OutputFile -- 保存匹配证书的文件 使用 -user 来访问用户存储而不是计算机存储。 使用 -enterprise 访问计算机企业存储。 使用 -service 访问计算机服务存储。 使用 -grouppolicy 访问计算机组策略存储。 示例: -enterprise NTAuth -enterprise Root 37 -user My 26e0aaaf000000000004 CA .11 [-f] [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-split] [-dc DCName] CertUtil [选项] -enumstore [\\MachineName] 枚举证书存储 MachineName -- 远程计算机名称。 [-Enterprise] [-user] [-GroupPolicy] CertUtil [选项] -addstore CertificateStoreName InFile 将证书添加到存储 CertificateStoreName -- 证书存储名称。参见 -store。 InFile -- 要添加到存储的证书或 CRL 文件。 [-f] [-Enterprise] [-user] [-GroupPolicy] [-dc DCName] 修饰符: Certs CRLs CTLs Root NoRoot CertUtil [选项] -delstore CertificateStoreName CertId 从存储删除证书 CertificateStoreName -- 证书存储名称。参见 -store。 CertId -- 证书或 CRL 匹配令牌。参见 -store。 [-f] [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-dc DCName] CertUtil [选项] -verifystore CertificateStoreName [CertId] 验证存储中的证书 CertificateStoreName -- 证书存储名称。参见 -store。 CertId -- 证书或 CRL 匹配令牌。参见 -store。 [-Enterprise] [-user] [-GroupPolicy] [-Silent] [-split] [-dc DCName] [-t 超时] CertUtil [选项] -repairstore CertificateStoreName CertIdList [PropertyInfFile | SDDLSecurityDescriptor] 修复密钥关联,或者更新证书属性或密钥安全描述符 CertificateStoreName -- 证书存储名称。请参见 -store。 CertIdList -- 以逗号分隔的证书或 CRL 匹配令牌列表。 请参见 -store 的 CertId 说明。 PropertyInfFile -- 包含外部属性的 INF 文件: [Properties] 19 = Empty ; 添加存档的属性,或者: 19 = ; 删除存档的属性 11 = "{text}Friendly Name" ; 添加友好名称属性 127 = "{hex}" ; 添加自定义十六进制属性 _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}" ; 添加密钥提供程序信息属性 _continue_ = "Container=Container Name&" _continue_ = "Provider=Microsoft Strong Cryptographic Provider&" _continue_ = "ProviderType=1&" _continue_ = "Flags=0&" _continue_ = "KeySpec=2" 9 = "{text}" ; 添加增强密钥使用属性 _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 提供程序] CertUtil [选项] -viewstore [CertificateStoreName [CertId [OutputFile]]] 转储证书存储 CertificateStoreName -- 证书存储名称。示例: “My”、“CA”(默认)、“Root”, “ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?one?objectClass=certificationAuthority”(查看根证书) “ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?base?objectClass=certificationAuthority”(修改根证书) “ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?certificateRevocationList?base?objectClass=cRLDistributionPoint”(查看 CRL) “ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?base?objectClass=certificationAuthority”(企业 CA 证书) ldap: (AD 计算机对象证书) -user ldap: (AD 用户对象证书) CertId -- 证书或 CRL 匹配令牌。这可以是一个序列号, 一个 SHA-1 证书、CRL、CTL 或公钥哈希, 一个数字证书索引(0, 1, 等等), 一个数字 CRL 索引(.0, .1, 等等), 一个数字 CTL 索引(..0, ..1, 等等), 一个公钥,签名或扩展 ObjectId, 一个证书使用者公用名 一个电子邮件地址、UPN 或 DNS 名称, 一个密钥容器名称或 CSP 名称, 一个模板名称或 ObjectId, 一个 EKU 或应用程序策略 ObjectId, 或者一个 CRL 颁发者公用名。 上面这些可能会产生多重匹配。 OutputFile -- 保存匹配证书的文件 使用 -user 来访问用户存储而不是计算机存储。 使用 -enterprise 访问计算机企业存储。 使用 -service 访问计算机服务存储。 使用 -grouppolicy 访问计算机组策略存储。 示例: -enterprise NTAuth -enterprise Root 37 -user My 26e0aaaf000000000004 CA .11 [-f] [-Enterprise] [-user] [-GroupPolicy] [-dc DCName] CertUtil [选项] -viewdelstore [CertificateStoreName [CertId [OutputFile]]] 从存储删除证书 CertificateStoreName -- 证书存储名称。示例: “My”、“CA”(默认)、“Root”, “ldap:///CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?one?objectClass=certificationAuthority”(查看根证书) “ldap:///CN=CAName,CN=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?base?objectClass=certificationAuthority”(修改根证书) “ldap:///CN=CAName,CN=MachineName,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?certificateRevocationList?base?objectClass=cRLDistributionPoint”(查看 CRL) “ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=zte,DC=intra?cACertificate?base?objectClass=certificationAuthority”(企业 CA 证书) ldap: (AD 计算机对象证书) -user ldap: (AD 用户对象证书) CertId -- 证书或 CRL 匹配令牌。这可以是一个序列号, 一个 SHA-1 证书、CRL、CTL 或公钥哈希, 一个数字证书索引(0, 1, 等等), 一个数字 CRL 索引(.0, .1, 等等), 一个数字 CTL 索引(..0, ..1, 等等), 一个公钥,签名或扩展 ObjectId, 一个证书使用者公用名 一个电子邮件地址、UPN 或 DNS 名称, 一个密钥容器名称或 CSP 名称, 一个模板名称或 ObjectId, 一个 EKU 或应用程序策略 ObjectId, 或者一个 CRL 颁发者公用名。 上面这些可能会产生多重匹配。 OutputFile -- 保存匹配证书的文件 使用 -user 来访问用户存储而不是计算机存储。 使用 -enterprise 访问计算机企业存储。 使用 -service 访问计算机服务存储。 使用 -grouppolicy 访问计算机组策略存储。 示例: -enterprise NTAuth -enterprise Root 37 -user My 26e0aaaf000000000004 CA .11 [-f] [-Enterprise] [-user] [-GroupPolicy] [-dc DCName] CertUtil [选项] -UI 文件 [import] 调用 CryptUI CertUtil [选项] -attest RequestFile 验证密钥证明请求 [-user] [-Silent] [-split] CertUtil [选项] -dsPublish CertFile [NTAuthCA | RootCA | SubCA | CrossCA | KRA | User | Machine] CertUtil [选项] -dsPublish CRLFile [DSCDPContainer [DSCDPCN]] 将证书或 CRL 发布到 Active Directory 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 来创建 DS 对象。 [-f] [-user] [-dc DCName] CertUtil [选项] -ADTemplate [Template] 显示 AD 模板 [-f] [-user] [-ut] [-mt] [-dc DCName] CertUtil [选项] -Template [Template] 显示注册策略模板 [-f] [-user] [-Silent] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName 用户名] [-p 密码] CertUtil [选项] -TemplateCAs 模板 显示模板的 CA [-f] [-user] [-dc DCName] CertUtil [选项] -CATemplates [Template] 显示 CA 的模板 [-f] [-user] [-ut] [-mt] [-config Machine\CAName] [-dc DCName] CertUtil [选项] -SetCASites [set] [SiteName] CertUtil [选项] -SetCASites verify [SiteName] CertUtil [选项] -SetCASites delete 管理 CA 的站点名称 设置、验证或删除 CA 站点名称 使用 -config 选项以将单个 CA 作为目标(默认为所有 CA) 只有在将单个 CA 作为目标时,才允许使用 SiteName 使用 -f 以覆盖指定 SiteName 的验证错误 使用 -f 以删除所有 CA 站点名称 [-f] [-config Machine\CAName] [-dc DCName] CertUtil [选项] -enrollmentServerURL [URL AuthenticationType [Priority] [Modifiers]] CertUtil [选项] -enrollmentServerURL URL delete 显示、添加或删除与 CA 关联的注册服务器 URL AuthenticationType -- 在添加 URL 时,指定以下客户端身份验证方法之一 Kerberos -- 使用 Kerberos SSL 凭据 UserName -- 使用指定帐户作为 SSL 凭据 ClientCertificate -- 使用 X.509 证书 SSL 凭据 Anonymous -- 使用匿名 SSL 凭据。 delete -- 删除与 CA 关联的指定 URL。 Priority -- 如果在添加 URL 时未指定,则默认为“1”。 Modifiers -- 包含下面的一项或多项内容的逗号分隔列表: AllowRenewalsOnly -- 只能通过此 URL 将续订请求 提交到此 CA AllowKeyBasedRenewal -- 允许使用在 AD 中没有关联帐户的证书。这仅适用于 ClientCertificate 和 AllowRenewalsOnly 模式。 [-config Machine\CAName] [-dc DCName] CertUtil [选项] -ADCA [CAName] 显示 AD CA [-f] [-split] [-dc DCName] CertUtil [选项] -CA [CAName | TemplateName] 显示注册策略 CA [-f] [-user] [-Silent] [-split] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName 用户名] [-p 密码] CertUtil [选项] -Policy 显示注册策略 [-f] [-user] [-Silent] [-split] [-PolicyServer URLOrId] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName 用户名] [-p 密码] CertUtil [选项] -PolicyCache [delete] 显示或删除注册策略缓存项目 delete -- 删除策略服务器缓存项目 -f -- 使用 -f 删除所有缓存项目。 [-f] [-user] [-PolicyServer URLOrId] CertUtil [选项] -CredStore [URL] CertUtil [选项] -CredStore URL add CertUtil [选项] -CredStore URL delete 显示、添加或删除凭据存储项目 URL -- 目标 URL。使用 * 匹配所有项目 使用 https://machine* 匹配 URL 前缀 add -- 添加凭据存储项目 还必须指定 SSL 凭据 delete -- 删除凭据存储项目 -f -- 使用 -f 覆盖一个项目或删除多个项目。 [-f] [-user] [-Silent] [-Anonymous] [-Kerberos] [-ClientCertificate ClientCertId] [-UserName 用户名] [-p 密码] CertUtil [选项] -InstallDefaultTemplates 安装默认的证书模板 [-dc DCName] CertUtil [选项] -URLCache [URL | CRL | * [delete]] 显示或删除 URL 缓存项目 URL -- 缓存的 URL CRL -- 只在所有缓存的 CRL URL 上操作 * -- 在所有的 URL 上操作 delete -- 从当前用户的本地缓存中删除有关的 URL 使用 -f 来强制提取特定的 URL 并更新缓存。 [-f] [-split] CertUtil [选项] -pulse [TaskName [SRKThumbprint]] 以脉冲方式执行自动注册事件或 NGC 任务 TaskName -- 要触发的任务 Pregen -- NGC 密钥 Pregen 任务 AIKEnroll -- NGC AIK 证书注册任务。 默认为自动注册事件。 SRKThumbprint -- 存储根密钥的指纹 [-user] 修饰符: Pregen PregenDelay AIKEnroll CryptoPolicy NgcPregenKey DIMSRoam CertUtil [选项] -MachineInfo DomainName\MachineName$ 显示 Active Directory 计算机对象信息 CertUtil [选项] -DCInfo [Domain] [Verify | DeleteBad | DeleteAll] 显示域控制器信息 默认为显示 DC 证书而不进行验证 [-f] [-user] [-urlfetch] [-dc DCName] [-t 超时] 修饰符: Verify DeleteBad DeleteAll CertUtil [选项] -EntInfo DomainName\MachineName$ 显示企业信息 [-f] [-user] CertUtil [选项] -TCAInfo [DomainDN | -] 显示 CA 信息 [-f] [-Enterprise] [-user] [-urlfetch] [-dc DCName] [-t 超时] CertUtil [选项] -SCInfo [ReaderName [CRYPT_DELETEKEYSET]] 显示智能卡信息 CRYPT_DELETEKEYSET -- 删除智能卡上的所有密钥 [-Silent] [-split] [-urlfetch] [-t 超时] CertUtil [选项] -SCRoots update [+][InputRootFile] [ReaderName] CertUtil [选项] -SCRoots save @OutputRootFile [ReaderName] CertUtil [选项] -SCRoots view [InputRootFile | ReaderName] CertUtil [选项] -SCRoots delete [ReaderName] 管理智能卡根证书 [-f] [-split] [-p 密码] CertUtil [选项] -DeleteHelloContainer 删除 Hello 登录容器。 ** 在使用此选项后, 用户需要注销才能完成。** CertUtil [选项] -verifykeys [KeyContainerName CACertFile] 验证公/私钥集 KeyContainerName -- 要验证的密钥容器名称 默认为计算机密钥。对用户密钥请使用 -user CACertFile -- 签名或加密证书文件 如果没有指定参数,每一个签名 CA 证书将对照它的私钥进行 验证。 此操作只能对本地 CA 或本地密钥执行。 [-f] [-user] [-Silent] [-config Machine\CAName] CertUtil [选项] -verify CertFile [ApplicationPolicyList | - [IssuancePolicyList]] [Modifiers] CertUtil [选项] -verify CertFile [CACertFile [CrossedCACertFile]] CertUtil [选项] -verify CRLFile CACertFile [IssuedCertFile] CertUtil [选项] -verify CRLFile CACertFile [DeltaCRLFile] 验证证书,CRL 或链 CertFile -- 要验证的证书 ApplicationPolicyList -- 逗号分隔的要求的应用程序策略 ObjectId 列表(可选) IssuancePolicyList -- 逗号分隔的要求的发行策略 ObjectId 列表(可选) CACertFile -- 要对照验证的发证 CA (可选) CrossedCACertFile -- 由 CertFile 交叉验证的证书(可选) CRLFile -- 要验证的 CRL IssuedCertFile -- 由 CRLFile 包括的发行的证书(可选) DeltaCRLFile -- 增量 CRL(可选) 如果指定了 ApplicationPolicyList,构建链被限制为对指定的应用程序策略 有效的链。 如果指定了 IssuancePolicyList,生成链被限制为对指定的发行策略有效的链。 如果指定了 CACertFile,在 CACertFile 中的域将对照 CertFile 或 CRLFile 验证。 如果没有指定 CACertFile,将使用 CertFile 来生成并验证完整链。 如果同时指定了 CACertFile 和 CrossedCACertFile,在 CACertFile 和 CrossedCACertFile 中的域将对照 CertFile 验证。 如果指定了 IssuedCertFile,在 IssuedCertFile 中的域将对照 CRLFile 验证。 如果指定了 DeltaCRLFile,在 DeltaCRLFile 中的域将对照 CRLFile 验证。 [-f] [-Enterprise] [-user] [-Silent] [-split] [-urlfetch] [-t 超时] [-sslpolicy ServerName] 修饰符: Strong -- 强签名验证 MSRoot -- 必须链接到 Microsoft 根目录 MSTestRoot -- 必须链接到 Microsoft 测试根目录 AppRoot -- 必须链接到 Microsoft 应用程序根目录 EV -- 强制执行扩展验证策略 CertUtil [选项] -verifyCTL CTLObject [CertDir] [CertFile] 验证 AuthRoot 或不允许的证书 CTL 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 具有与 AuthRoot 相同的行为。 PinRules -- 读取注册表缓存的 PinRules CTL。 -f 具有与 PinRulesWU 相同的行为。 CTLFileName -- CTL 或 CAB 的文件或 http: 路径 CertDir -- 包含与 CTL 条目匹配的证书的文件夹 http: 文件夹路径必须以路径分隔符结尾。 如果未使用 AuthRoot 或 Disallowed 指定文件夹, 则会在以下多个位置中搜索匹配的证书: 本地 证书存储、crypt32.dll 资源和本地 URL 缓存。 如有必要,请使用 -f 从 Windows 更新中下载。 否则,默认使用与 CTLObject 相同的文件夹或网站。 CertFile -- 包含要验证的证书的文件。将证书 与 CTL 条目进行匹配,并显示匹配结果。 隐藏大多数默认输出。 [-f] [-user] [-split] CertUtil [选项] -syncWithWU DestinationDir 与 Windows 更新同步 DestinationDir -- 要复制到的文件夹。 已从 Windows Update 下载以下文件: authrootstl.cab - 包含第三方根的 CTL。 disallowedcertstl.cab - 包含不允许的证书的 CTL。 disallowedcert.sst - 不允许的证书。 pinrulesstl.cab - 包含 SSL 捆绑规则的 CTL。 pinrules.sst - 捆绑规则证书。 <thumbprint>.crt - 第三方根。 [-f] CertUtil [选项] -generateSSTFromWU SSTFile 通过 Windows 更新生成 SST SSTFile -- 要创建的 .sst 文件。 生成的 .sst 文件包含从 Windows 更新下载的 第三方根。 [-f] [-split] CertUtil [选项] -generatePinRulesCTL XMLFile CTLFile [SSTFile [QueryFilesPrefix]] 生成捆绑规则 CTL XMLFile -- 要解析的输入 XML 文件。 CTLFile -- 要生成的输出 CTL 文件。 SSTFile -- 要创建的可选 .sst 文件。 .sst 文件包含所有用于捆绑的 证书。 QueryFilesPrefix -- 要为数据库查询创建的可选 Domains.csv 文件和 Keys.csv 文件。 QueryFilesPrefix 字符串附加到每个已创建文件的前面。 Domains.csv 文件包含规则名称、域行。 Keys.csv 文件包含规则名称、密钥 SHA256 指纹行。 [-f] CertUtil [选项] -downloadOcsp CertificateDir OcspDir [ThreadCount] [修饰符] 下载 OCSP 响应并写入目录 CertificateDir -- 证书、存储和 PFX 文件的目录。 OcspDir -- 写入 OCSP 响应的目录。 ThreadCount -- 可选的并行下载的最大线程数。默认值为 10。 修饰符 -- 以下一项或多项的逗号分隔的列表: DownloadOnce -- 下载一次,然后退出 ReadOcsp -- 从 OcspDir 读取而不是写入 默认情况 下,certutil 不会退出,必须显式终止。 修饰符: DownloadOnce ReadOcsp CertUtil [选项] -generateHpkpHeader CertFileOrDir MaxAge [ReportUri] [Modifiers] 使用指定文件或目录中的证书生成 HPKP 头 CertFileOrDir -- 证书的文件或目录。pin-sha256 的源。 MaxAge -- 最大有效期值(以秒为单位)。 ReportUri -- 可选报告 uri。 Modifiers -- 逗号分隔的以下一项或多项的列表: includeSubDomains -- 追加 includeSubDomains。 修饰符: includeSubDomains CertUtil [选项] -flushCache ProcessId CacheMask [修饰符] 刷新选定进程(例如 lsass.exe)中的指定缓存 ProcessId -- 要刷新的进程的数字 ID。设置为 0 以刷新所有已启用刷新的进程。 CacheMask -- 要刷新的缓存的位掩码。以下位的数字 OR: 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 0: ShowOnly 修饰符 -- 用逗号分隔的以下一个或多个内容的列表: Show - 显示正在刷新的缓存。Certutil 必须显式终止。 修饰符: Show CertUtil [选项] -addEccCurve [CurveClass:]CurveName CurveParameters [CurveOID] [CurveType] 添加 ECC 曲线 CurveClass: -- ECC 曲线类类型: - WEIERSTRASS [默认值] - MONTGOMERY - TWISTED_EDWARDS CurveName -- ECC 曲线名称 CurveParameters -- ECC 曲线参数。为下列其中一项 - 包含 ASN 编码参数的证书文件名 - 包含 ASN 编码参数的文件 CurveOID -- ECC 曲线 OID。为下列其中一项: - 包含 ASN 编码 OID 的证书文件名 - 显式 ECC 曲线 OID CurveType -- Schannel ECC NamedCurve 点(数字) [-f] CertUtil [选项] -deleteEccCurve CurveName | CurveOID 删除 ECC 曲线 CurveName -- ECC 曲线名称 CurveOID -- ECC 曲线 OID [-f] CertUtil [选项] -displayEccCurve [CurveName | CurveOID] 显示 ECC 曲线 CurveName -- ECC 曲线名称 CurveOID -- ECC 曲线 OID [-f] CertUtil [选项] -sign InFileList|SerialNumber|CRL OutFileList [StartDate[+|-dd:hh]+|-dd:hh] [+SerialNumberList | -SerialNumberList | -ObjectIdList | @ExtensionFile] CertUtil [选项] -sign InFileList|SerialNumber|CRL OutFileList [#HashAlgorithm] [+AlternateSignatureAlgorithm | -AlternateSignatureAlgorithm] CertUtil [选项] -sign InFileList OutFileList [Subject:CN=...] [Issuer:hex data] 重新签名 CRL 或证书 InFileList -- 要修改并重新签名的证书或 CRL 文件列 表(以逗号分隔) SerialNumber -- 要创建的证书的序列号 有效期和其他选项必须不存在 CRL -- 创建空 CRL 有效期和其他选项必须不存在 OutFileList -- 已修改的证书或 CRL 输出文件列表 (以逗号分隔)。文件数目必须同 InFileList 匹配。 StartDate[+|-dd:hh]+|-dd:hh -- 新的有效期: 可选日期加上 可选天数和小时数的开始日期偏移和可选 天数和小时数的有效期 如果使用多个字段,请使用(+)或(-)分隔符 使用“now[+dd:hh]”在当前时间启动 使用“now-dd:hh+dd:hh”在当前时间的固定偏移和 固定的有效期开始 使用“never”将无到期日期(仅用于 CRL) SerialNumberList -- 要添加或删除的序列号列表(以逗号分隔) ObjectIdList -- 要删除的扩展 ObjectId 列表(以逗号分隔) @ExtensionFile -- 包含要更新或删除的扩展的 INF 文件: [Extensions] 2.5.29.31 = ; 删除 CRL 分发点扩展 2.5.29.15 = "{hex}" ; 更新密钥使用扩展 _continue_="03 02 01 86" HashAlgorithm -- 前面标有 # 号的哈希算法名称 AlternateSignatureAlgorithm -- 替换签名算法说明符 减号将删除序列号和扩展。 加号将添加序列号到 CRL。 从 CRL 中删除项目时,列表可能同时包含序列号 和 ObjectId。 AlternateSignatureAlgorithm 之前的减号将使用旧签名格式。 AlternateSignatureAlgorithm 之前的加号将使用替换签名格式。 如果未指定 AlternateSignatureAlgorithm,则使用证书或 CRL 中的签名格式。 [-nullsign] [-f] [-user] [-Silent] [-Cert CertId] [-csp 提供程序] CertUtil [选项] -vroot [delete] 创建/删除 Web 虚拟根和文件共享 CertUtil [选项] -vocsproot [delete] 创建/删除 OCSP Web Proxy 的 Web 虚拟根 CertUtil [选项] -addEnrollmentServer Kerberos | UserName | ClientCertificate [AllowRenewalsOnly] [AllowKeyBasedRenewal] 添加注册服务器应用程序 如有必要,请为指定的 CA 添加注册服务器 应用程序和应用程序池。此命令不安装二进制文件或程序包 客户端可通过以下身份验证方法之一连接到 证书注册服务器 Kerberos -- 使用 Kerberos SSL 凭据 UserName -- 使用指定帐户作为 SSL 凭据 ClientCertificate -- 使用 X.509 证书 SSL 凭据 AllowRenewalsOnly -- 只能通过此 URL 将续订请求 提交到此 CA AllowKeyBasedRenewal -- 允许使用在 AD 中没有关联帐户的证书。这仅适用于 ClientCertificate 和 AllowRenewalsOnly 模式。 [-config Machine\CAName] 修饰符: AllowRenewalsOnly AllowKeyBasedRenewal CertUtil [选项] -deleteEnrollmentServer Kerberos | UserName | ClientCertificate 删除注册服务器应用程序 如有必要,请为指定的 CA 删除注册服务器 应用程序和应用程序池。此命令不删除二进制文件或程序包 客户端可通过以下身份验证方法之一连接到 证书注册服务器 Kerberos -- 使用 Kerberos SSL 凭据 UserName -- 使用指定帐户作为 SSL 凭据 ClientCertificate -- 使用 X.509 证书 SSL 凭据。 [-config Machine\CAName] CertUtil [选项] -addPolicyServer Kerberos | UserName | ClientCertificate [KeyBasedRenewal] 添加策略服务器应用程序 如有必要,请添加策略服务器应用程序和应用程序池。此命令 不安装二进制文件或程序包 客户端可通过以下身份验证方法之一连接到 证书策略服务器 Kerberos -- 使用 Kerberos SSL 凭据 UserName -- 使用指定帐户作为 SSL 凭据 ClientCertificate -- 使用 X.509 证书 SSL 凭据 KeyBasedRenewal -- 仅向客户端返回 包含 KeyBasedRenewal 模板的策略。此标记 仅适用于 UserName 和 ClientCertificate 身份验证。 CertUtil [选项] -deletePolicyServer Kerberos | UserName | ClientCertificate [KeyBasedRenewal] 删除策略服务器应用程序 如有必要,请删除策略服务器应用程序和应用程序池。此命令 不删除二进制文件或程序包 客户端可通过以下身份验证方法之一连接到 证书策略服务器 Kerberos -- 使用 Kerberos SSL 凭据 UserName -- 使用指定帐户作为 SSL 凭据 ClientCertificate -- 使用 X.509 证书 SSL 凭据 KeyBasedRenewal -- KeyBasedRenewal 策略服务器。 CertUtil [选项] -oid ObjectId [DisplayName | delete [LanguageId [Type]]] CertUtil [选项] -oid GroupId CertUtil [选项] -oid AlgId | AlgorithmName [GroupId] 显示 ObjectId 或设置显示名称 ObjectId -- 要显示或添加显示名称的 ObjectId GroupId -- 要枚举的 ObjectId 的十进制 GroupId 编号 AlgId -- 要查找的 ObjectId 的十六进制 AlgId AlgorithmName -- 要查找的 ObjectId 的算法名称 DisplayName -- 要在 DS 中存储的显示名称 delete -- 删除显示名称 LanguageId -- 语言 Id(默认为当前: 2052) Type -- 要创建的 DS 对象类型: 1 为模板(默认), 2 为颁发策略,3 为应用程序策略 用 -f 来创建 DS 对象。 [-f] CertUtil [选项] -error ErrorCode 显示错误代码消息文本 CertUtil [选项] -getreg [{ca|restore|policy|exit|template|enroll|chain|PolicyServers}\[ProgId\]][RegistryValueName] 显示注册表值 ca --使用 CA 的注册表项 restore --使用 CA 的还原注册表项 policy --使用策略模块的注册表项 exit --使用第一个退出模块的注册表项 template --使用模板注册表项(对用户模板使用 -user) enroll --使用注册注册表项(对用户上下文使用 -user) chain --使用链配置注册表项 PolicyServers --使用策略服务器注册表项 ProgId --使用策略或退出模块的 ProgId (注册表子项名称) RegistryValueName --注册表值名称(使用 "Name*" 进行前缀匹配) Value --新的数字、字符串或日期注册表值或文件名。 如果一个数字值以 "+" 或 "-" 开头,则新值中指定的位将在 现有的注册表值中被设置或清除。 如果字符串值以 "+" 或 "-" 开头,并且现有值为 一个 REG_MULTI_SZ 值,则此字符串将添加到 现有的注册表值中,或从中删除。 若要强制创建一个 REG_MULTI_SZ 值,请在字符串值的末尾添加 一个 "\n"。 如果值以 "@" 开头,则值的其余部分为 文件的名称,该文件包含 一个二进制值的十六进制文本表示形式。 如果它未引用一个有效文件,则会将其作为 [Date][+|-][dd:hh] 进行分析 -- 可选日期加上或减去可选 天数和小时数。 如果同时指定两者,则使用加号(+)或减号(-)分隔符。 将 "now+dd:hh" 用于相对于当前时间的日期。 使用 "i64" 作为后缀以创建 REG_QWORD 值。 使用 "chain\ChainCacheResyncFiletime @now" 有效地刷新缓存的 CRL。 [-f] [-Enterprise] [-user] [-GroupPolicy] [-config Machine\CAName] 注册表别名: 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 CertUtil [选项] -setreg [{ca|restore|policy|exit|template|enroll|chain|PolicyServers}\[ProgId\]]RegistryValueName 值 设置注册表值 ca --使用 CA 的注册表项 restore --使用 CA 的还原注册表项 policy --使用策略模块的注册表项 exit --使用第一个退出模块的注册表项 template --使用模板注册表项(对用户模板使用 -user) enroll --使用注册注册表项(对用户上下文使用 -user) chain --使用链配置注册表项 PolicyServers --使用策略服务器注册表项 ProgId --使用策略或退出模块的 ProgId (注册表子项名称) RegistryValueName --注册表值名称(使用 "Name*" 进行前缀匹配) Value --新的数字、字符串或日期注册表值或文件名。 如果一个数字值以 "+" 或 "-" 开头,则新值中指定的位将在 现有的注册表值中被设置或清除。 如果字符串值以 "+" 或 "-" 开头,并且现有值为 一个 REG_MULTI_SZ 值,则此字符串将添加到 现有的注册表值中,或从中删除。 若要强制创建一个 REG_MULTI_SZ 值,请在字符串值的末尾添加 一个 "\n"。 如果值以 "@" 开头,则值的其余部分为 文件的名称,该文件包含 一个二进制值的十六进制文本表示形式。 如果它未引用一个有效文件,则会将其作为 [Date][+|-][dd:hh] 进行分析 -- 可选日期加上或减去可选 天数和小时数。 如果同时指定两者,则使用加号(+)或减号(-)分隔符。 将 "now+dd:hh" 用于相对于当前时间的日期。 使用 "i64" 作为后缀以创建 REG_QWORD 值。 使用 "chain\ChainCacheResyncFiletime @now" 有效地刷新缓存的 CRL。 [-f] [-Enterprise] [-user] [-GroupPolicy] [-config Machine\CAName] CertUtil [选项] -delreg [{ca|restore|policy|exit|template|enroll|chain|PolicyServers}\[ProgId\]][RegistryValueName] 删除注册表值 ca --使用 CA 的注册表项 restore --使用 CA 的还原注册表项 policy --使用策略模块的注册表项 exit --使用第一个退出模块的注册表项 template --使用模板注册表项(对用户模板使用 -user) enroll --使用注册注册表项(对用户上下文使用 -user) chain --使用链配置注册表项 PolicyServers --使用策略服务器注册表项 ProgId --使用策略或退出模块的 ProgId (注册表子项名称) RegistryValueName --注册表值名称(使用 "Name*" 进行前缀匹配) Value --新的数字、字符串或日期注册表值或文件名。 如果一个数字值以 "+" 或 "-" 开头,则新值中指定的位将在 现有的注册表值中被设置或清除。 如果字符串值以 "+" 或 "-" 开头,并且现有值为 一个 REG_MULTI_SZ 值,则此字符串将添加到 现有的注册表值中,或从中删除。 若要强制创建一个 REG_MULTI_SZ 值,请在字符串值的末尾添加 一个 "\n"。 如果值以 "@" 开头,则值的其余部分为 文件的名称,该文件包含 一个二进制值的十六进制文本表示形式。 如果它未引用一个有效文件,则会将其作为 [Date][+|-][dd:hh] 进行分析 -- 可选日期加上或减去可选 天数和小时数。 如果同时指定两者,则使用加号(+)或减号(-)分隔符。 将 "now+dd:hh" 用于相对于当前时间的日期。 使用 "i64" 作为后缀以创建 REG_QWORD 值。 使用 "chain\ChainCacheResyncFiletime @now" 有效地刷新缓存的 CRL。 [-f] [-Enterprise] [-user] [-GroupPolicy] [-config Machine\CAName] 注册表别名: 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 CertUtil [选项] -ImportKMS UserKeyAndCertFile [CertId] 为密钥存档导入用户密钥和证书到服务器数据库 UserKeyAndCertFile -- 包含要存档的用户私钥和 证书的数据文件。这可以是任何以下内容: 交换密钥管理服务器(KMS)导出文件 PFX 文件 CertId -- KMS 导出文件解密证书匹配令牌。请参见 -store。 使用 -f 导入不是由 CA 颁发的证书。 [-f] [-Silent] [-split] [-config Machine\CAName] [-p 密码] [-symkeyalg SymmetricKeyAlgorithm[,KeyLength]] CertUtil [选项] -ImportCert Certfile [ExistingRow] 将证书文件导入数据库 使用 ExistingRow 导入证书以代替相同密钥的挂起的请求。 使用 -f 来导入非 CA 颁发的证书。 还可能需要配置 CA 来支持外部证书导入: certutil -setreg ca\KRAFlags +KRAF_ENABLEFOREIGN [-f] [-config Machine\CAName] CertUtil [选项] -GetKey SearchToken [RecoveryBlobOutFile] CertUtil [选项] -GetKey SearchToken script OutputScriptFile CertUtil [选项] -GetKey SearchToken retrieve | recover OutputFileBaseName 检索存档的私钥恢复 Blob,生成恢复脚本 或恢复存档的密钥 script -- 生成脚本以检索和恢复密钥(找到多个匹配的恢复代理 或未指定输出文件 时的默认行为)。 retrieve -- 检索一个或多个密钥恢复 Blob (恰好找到一个匹配的恢复代理 并指定了输出文件 时的默认行为) recover -- 在一个步骤中检索和恢复私钥(需要密钥 恢复代理证书和私钥) SearchToken -- 用于选择要恢复的密钥和证书。 可以是任何以下内容: 证书公用名称 证书序列号 证书 SHA-1 哈希(指纹) 证书 KeyId SHA-1 哈希(使用者密钥标识符) 请求者名称(domain\user) UPN (user@domain) RecoveryBlobOutFile -- 包含一个证书链和关联的私钥 的输出文件,仍加密到一个或多个密钥恢复 代理证书。 OutputScriptFile -- 包含批处理脚本以检索和恢复私钥 的输出文件。 OutputFileBaseName -- 输出文件基本名称。 对于 retrieve,将截断任何扩展,并为每个密钥恢复 Blob 附加证书特定的字符串和 .rec 扩展。每个文件包含一个证书链和关联的 私钥,仍加密到一个或多个密钥恢复代理 证书。 对于 recover,将截断任何扩展并附加 .p12 扩展。包含恢复的证书链和关联的 私钥(存储为 PFX 文件)。 [-f] [-UnicodeText] [-Silent] [-config Machine\CAName] [-p 密码] [-ProtectTo SAMNameAndSIDList] [-csp 提供程序] CertUtil [选项] -RecoverKey RecoveryBlobInFile [PFXOutFile [RecipientIndex]] 恢复存档的私钥 [-f] [-user] [-Silent] [-split] [-p 密码] [-ProtectTo SAMNameAndSIDList] [-csp 提供程序] [-t 超时] CertUtil [选项] -MergePFX PFXInFileList PFXOutFile [Modifiers] 合并 PFX 文件 PFXInFileList -- 以逗号分隔的 PFX 输入文件列表 PFXOutFile -- PFX 输出文件 Modifiers -- 包含下列一项或多项的逗号分隔列表: ExtendedProperties -- 包含扩展属性 NoEncryptCert -- 不加密证书 EncryptCert -- 加密证书 在命令行中指定的密码是以逗号分隔的密码 列表。如果指定多个密码,则最后一个密码将 用于输出文件。如果仅提供一个密码或最后一个密码 为 "*",则系统将提示用户提供输出文件的密码。 [-f] [-user] [-split] [-p 密码] [-ProtectTo SAMNameAndSIDList] [-csp 提供程序] CertUtil [选项] -ConvertEPF PFXInFileList EPFOutFile [cast | cast-] [V3CACertId][,Salt] 将 PFX 文件转换为 EPF 文件 PFXInFileList -- 逗号分隔的 PFX 输入文件列表 EPF -- EPF 输出文件 cast -- 使用 CAST 64 加密 cast- -- 使用 CAST 64 加密(导出) V3CACertId -- V3 CA 证书匹配令牌。参阅 -store CertId 描述。 Salt -- EPF 输出文件加密盐字符串 在命令行指定的密码是逗号分隔的密码列表。如果指定了一个以上的密码, 将对输出文件使用最后一个密码。如果只提供了一个密码或最后一个密码 为 "*",将提示用户输出文件的密码。 [-f] [-Silent] [-split] [-dc DCName] [-p 密码] [-csp 提供程序] CertUtil [选项] -add-chain LogId 证书 OutFile 添加证书链 [-f] CertUtil [选项] -add-pre-chain LogId 预植证书 OutFile 添加预植证书链 [-f] CertUtil [选项] -get-sth [LogId] 获取签名树头 [-f] CertUtil [选项] -get-sth-consistency LogId TreeSize1 TreeSize2 获取签名树头更改 [-f] CertUtil [选项] -get-proof-by-hash LogId 哈希[TreeSize] 获取哈希证明 [-f] CertUtil [选项] -get-entries LogId FirstIndex LastIndex 获取项 [-f] CertUtil [选项] -get-roots LogId 获取根 [-f] CertUtil [选项] -get-entry-and-proof LogId 索引 [TreeSize] 获取项和证明 [-f] CertUtil [选项] -VerifyCT 证书 SCT [precert] 验证证书 SCT [-f] CertUtil [选项] -? 显示该用法消息 选项: -nullsign -- 将数据的哈希用作签名 -f -- 强制覆盖 -Enterprise -- (-ent) 使用本地计算机 Enterprise 注册表证书存储 -user -- 使用 HKEY_CURRENT_USER 项或证书存储 -GroupPolicy -- (-gp) 使用组策略证书存储 -ut -- 显示用户模板 -mt -- 显示计算机模板 -Unicode -- 以 Unicode 编写重定向输出 -UnicodeText -- 以 Unicode 编写输出文件 -gmt -- 将时间显示为 GMT -seconds -- 用秒和毫秒显示时间 -Silent -- (-q) 用无声标志获得 crypt 上下文 -split -- 分离嵌入的 ASN.1 元素,并保存到文件 -v -- 详细操作 -privatekey -- 显示密码和私钥数据 -pin PIN -- 智能卡 PIN -urlfetch -- 检索并验证 AIA 证书和 CDP CRL -config Machine\CAName -- CA 和计算机名称字符串 -PolicyServer URLOrId -- 策略服务器 URL 或 ID 对于选择 U/I,使用 -PolicyServer - 对于所有策略服务器,使用 -PolicyServer * -Anonymous -- 使用匿名 SSL 凭据 -Kerberos -- 使用 Kerberos SSL 凭据 -ClientCertificate ClientCertId -- 使用 X.509 证书 SSL 凭据 对于选择 U/I,使用 -ClientCertificate - -UserName 用户名 -- 使用指定帐户作为 SSL 凭据 对于选择 U/I,使用 -UserName - -Cert CertId -- 签名证书 -dc DCName -- 目标为一个特定的域控制器 -restrict 限制列表 -- 以逗号分隔的限制列表 每个限制都由一个列名称、一个关系操作符和 一个整数常量、字符串或日期组成。列名称前面可以带有 加号或减号,以表示排列顺序。 例如: "RequestId = 47" "+RequesterName >= a, RequesterName < b" "-RequesterName > DOMAIN, Disposition = 21" -out 栏列表 -- 以逗号分隔的栏列表 -p 密码 -- 密码 -ProtectTo SAMNameAndSIDList -- 以逗号分隔的 SAM 名称/SID 列表 -csp 提供程序 -- 提供程序 KSP -- "Microsoft Software Key Storage Provider" TPM -- "Microsoft Platform Crypto Provider" NGC -- "Microsoft Passport Key Storage Provider" SC -- "Microsoft Smart Card Key Storage Provider" -Location AlternateStorageLocation -- (-loc) AlternateStorageLocation AIK -- "C:\ProgramData\Microsoft\Crypto\PCPKSP\WindowsAIK" -t 超时 -- URL 取指令超时(毫秒) -symkeyalg SymmetricKeyAlgorithm[,KeyLength] -- 对称密钥算法的名称和可选密钥长度,例如: AES、128 或 3DES -sid WELL_KNOWN_SID_TYPE -- 数字 SID 22 -- 本地系统 23 -- 本地服务 24 -- 网络服务 -sslpolicy ServerName -- 与 ServerName 匹配的 SSL 策略 哈希算法: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512 CertUtil -? -- 显示动词列表(命名列表) CertUtil -dump -? -- 显示 "dump" 动词的帮助文本 CertUtil -v -? -- 显示所有动词的所有帮助文本 CertUtil: -? 命令成功完成。
3 示例 C:\>certutil -hashfile C:\Bluetooth.apk MD5 MD5 的 C:\Bluetooth.apk 哈希: 086239cbe1e45656904043422ae50b58 CertUtil: -hashfile 命令成功完成。
4 参考资料
移动安全-certutil由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“移动安全-certutil”
下一篇
并发编程的12条规范