拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 Windows 中的 certreq 命令

Windows 中的 certreq 命令

白鹭 - 2022-03-16 2221 0 2

Certreq可用于从证书颁发机构 (CA) 请求证书,接收来自 CA 的先前请求的响应,从.inf文件创建新请求,接受并安装设置对请求的响应,构建交叉授权请求,来自证书的资格证书或请求现有 CA 并签署交叉资格或资格请求。

警告

以前版本的certreq可能无法提供本文档中描述的所有选项。您可以通过运行以下语法表示法部分中显示的命令来查看特定版本的certreq提供的所有选项。

动词与 certreq 命令一起使用

下表描述了可与certreq命令一起使用的动词:

Verb-Submit 描述 向 CA 提交请求。有关详细信息,请参阅Certreq -submit。-retrieve RequestID检索来自 CA 的先前请求的反馈。有关详细信息,请参阅Certreq -retrieve。-New 从.inf文件创建一个新请求。有关详细信息,请参阅Certreq -new部分。-Accept 接受并安装证书请求的响应。有关详细信息,请参阅Certreq -accept。-Policy 为请求设置策略。有关详细信息,请参阅Certreq -policy部分。-签署已签署的子请求或交叉认证。有关详细信息,请参阅Certreq-ign。-Enroll 注册或更新证书。有关详细信息,请参阅Certreq -enroll。-?显示certreq命令的语法、选项和描述列表。-?显示指定动词的帮助。-v -?显示语法、选项和certreq命令描述的详细列表。

语法符号

对于基本的命令行语法,运行:

 certreq -? 

对于将certutil与特定动词一起使用的语法,请运行:

 certreq -? 

要将所有 certutil 语法发送到文本文件,请运行以下命令:

 certreq -v -? > certreqhelp.txt 
 notepad certreqhelp.txt 

下表描述了用于指示命令行语法的符号。

符号 描述 描述 不带方括号或大括号的文本 必须按所示输入的项目 text="" in="" on="" swa="" get="" mut="" 必须提供值的占位符 [Text inside方括号] 可选项目 {花括号内的文本} 选择一项必填项 竖线 (|) 用于除彼此之外的类别项目的分隔符(选择一项) 省略号 (.) 项目可以重复

Certreq - 提交

这是certreq.exe默认的参数,如果在命令提示符下没有指定任何选项,certreq.exe 会尝试向 CA 发送证书请求。

 CertReq [-Submit] [Options] [RequestFileIn [CertFileOut [CertChainFileOut [FullResponseFileOut]]]] 

使用-submit选项时必须指定证书请求文件。如果省略此参数,将显示文件打开窗口。您可以在此处选择适当的证书请求文件。

您可以使用这些示例作为创建证书请求的起点。要提交简单的证书请求,请使用以下示例:

 certreq –submit certRequest.req certnew.cer certnew.pfx 

Certreq - 检索

 certreq -retrieve [Options] RequestId [CertFileOut [CertChainFileOut [FullResponseFileOut]]] 
  1. 如果您没有在-config中指定CAComputerName或CAName ,则会出现一个CAComputerNameCANamea对话框并显示所有可用 CA 的列表。

  2. 如果您使用-config而不是-config CAComputerNameCAName,则该操作由默认 CA 处理。

  3. 在 CA 实际发布证书后,您可以使用certreq -retrieve RequestID来获取证书。RequestIDPKC可以是带 0x 前缀的十进制或十六进制,也可以是不带0x前缀的证书序列号。您还可以使用它来检索任何 CA 颁发的证书,包括已撤销或过期的证书,无论证书的请求是否处于待处理状态。

  4. 如果您向 CA 发送请求,CA 策略模块可以使请求处于挂起状态并将RequestID返回给调用Certreq的人。最后,CA 管理员将颁发证书或拒绝该请求。

以下命令检索 id 20 证书并创建证书文件 (.cer):

 certreq -retrieve 20 MyCertificate.cer 

Certreq-新

 certreq -new [Options] [PolicyFileIn [RequestFileOut]] 

由于 INF 文件允许使用丰富的参数和选项集,因此很难确定管理员应为所有目的使用的默认模板。因此,本节介绍了允许您创建适合您特定需求的 INF 文件的所有选项。以下关键字用于描述 INF 文件结构。

  1. 节是 INF 文件中包含一组逻辑键的区域。该部分始终出现在 INF 文件中的括号中。

  2. Key是等号左边的参数。

  3. 值是等号右边的参数。

例如,一个最小的 INF 文件将如下所示:

 [NewRequest] ; At least one value must be set in this section Subject = "CN=W2K8-BO-DC.contoso2.com" 

以下是可以添加到 INF 文件的一些部分。此部分是 INF 文件所必需的,该文件充当新证书请求的模板。本节至少需要一个键值:

KeyDefinitionValueSubject 一些应用程序依赖于证书中的主题信息。因此,您应该为该键指定一个值。如果此处未放置主题,则应在扩展名中包含主题名称以替换证书的主题。Value = "CN = computer1.contoso.com" Subject = "CN = John Smith, CN = Users, DC = Contoso, DC = com" 可导出 如果此属性设置为 TRUE,私钥可以与证书一起导出。为确保高度安全,无法导出私钥。但是,在某些情况下,如果某些计算机或用户必须共享相同的私钥,则可以导出私钥。true, falseExportable = TRUE.CNG 键可以区分这个和导出的原始文本。密钥 CAPI1 不能。ExportableEncrypted 指定是否应将私钥设置为可导出。真,假可导出加密 = 真
提示:并非所有的公钥大小和算法都适用于所有哈希算法。Tamehe 指定的 CSP 还必须支持指定的哈希算法。要查看支持的哈希算法列表,您可以运行以下命令:

 certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo 

HashAlgorithm 哈希算法用于此要求。Sha256, sha384, sha512, sha1, md5, md4, md2HashAlgorithm = sha1要查看支持的哈希算法列表,请使用:

 certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo 

KeyAlgorithm 服务提供商将使用该算法来创建公钥和私钥对。RSA、DH、DSA、ECDH_P256、ECDH_P521、ECDSA_P256、ECDSA_P384、ECDSA_P521 KeyAlgorithm = RSA KeyContainer 不应为创建新密钥文档的新请求设置此参数。密钥容器由系统自动创建和维护。对于使用当前密钥文档的请求,该值可以设置为当前密钥的密钥容器名称。使用certutil –key命令显示机器上下文的可用密钥容器列表。对当前用户的上下文使用certutil命令–key –user。随机字符串值
提示:您应该在任何带有空格或特殊字符的关键 INF 值周围使用引号,以避免潜在的 INF 解析问题。KeyContainer = {C347BD28-7F69-4090-AA16-BC58CF4D749C} KeyLength 确定公钥和私钥的长度。密钥长度对证书的安全级别有影响。较大的密钥长度通常提供更高级别的安全性。但是,某些应用程序可能具有有限的密钥长度。加密服务提供商支持任何有效的密钥长度。KeyLength = 2048 KeySpec 指定密钥是否可用于签名、Exchange 或两者。AT_NONE, AT_SIGNATURE, AT_KEYEXCHANGE KeySpec = AT_KEYEXCHANGE KeyUsage 确定应该使用什么证书密钥。CERT_DIGITAL_SIGNATURE_KEY_USAGE - 80 (128)
提示:显示的值是每个位的十六进制值(十进制)。也可以使用较旧的语法:设置多个位的单个十六进制值,而不是用符号表示。例如,KeyUsage = 0xa0。
CERT_NON_REPUDIATION_KEY_USAGE - 40(64)
CERT_KEY_ENCIPHERMENT_KEY_USAGE - 20(32)
CERT_DATA_ENCIPHERMENT_KEY_USAGE - 10(16)
CERT_KEY_AGREEMENT_KEY_USAGE - 8
CERT_KEY_CERT_SIGN_KEY_USAGE - 4
CERT_OFFLINE_CRL_SIGN_KEY_USAGE - 2
CERT_CRL_SIGN_KEY_USAGE - 2
CERT_ENCIPHER_ONLY_KEY_USAGE - 1
CERT_DECIPHER_ONLY_KEY_USAGE - 8000(32768)的KeyUsage = “CERT_DIGITAL_SIGNATURE_KEY_USAGE | CERT_KEY_ENCIPHERMENT_KEY_USAGE”
提示: 如果有多个值,请使用 (|) 符号。确保在使用多个值时使用引号,以避免 INF 解析问题。KeyUsageProperty 获取定义特定用途的值,但可以使用私钥。NCRYPT_ALLOW_DECRYPT_FLAG - 1
NCRYPT_ALLOW_SIGNING_FLAG - 2
NCRYPT_ALLOW_KEY_AGREEMENT_FLAG - 4
NCRYPT_ALLOW_ALL_USAGES - ffffff (16777215) KeyUsageProperty = "NCRYPT_ALLOW_DECRYPT_FLAG | NCRYPT_ALLOW_SIGNING_FLAG" MachineKeySet 当您需要创建属于机器而非用户的证书时,此键非常重要。生成的密钥文档在创建请求的安全原则(用户或计算机帐户)的上下文中进行维护。当管理员代表计算机创建证书请求时,必须在计算机的安全上下文中创建此密钥文档,而不是在管理员的安全上下文中。否则,机器无法访问私钥,因为它将在管理员的安全上下文中。true, false MachineKeySet =
true:默认值为假。NotBefore 指定无法发出请求之前的日期或日期和时间。NotBefore 可以与 ValidityPeriod 和 ValidityPeriodUnits 一起使用。日期或日期和时间 NotBefore = "7/24/2012 10:31 AM"
提示: NotBefore 和 NotAfter 仅适用于 RequestType = cert。日期分析将尽量在当地进行。使用月份的名称将在所有当地地区进行区分和工作。NotAfter 指定不能发出请求的日期或日期和时间。NotAfter 不能与 ValidityPeriod 或 ValidityPeriodUnits 一起使用。日期或日期和时间 NotAfter = "9/23/2014 10:31 AM"
提示:NotBefore 和 NotAfter 仅适用于 RequestType = cert。日期分析将尽量在当地进行。使用月份的名称将在所有当地地区进行区分和工作。PrivateKeyArchive PrivateKeyArchive 设置只有在相应的 RequestType 设置为“CMC”时才有效,因为只有 Certificate Management Messages over CMS(CMC 管理通知)缩写为 CMC,允许将请求者的私钥传输到 CA 来存储密钥。trueKey false PrivateKeyArchive = True EncryptionAlgorithm 使用的加密算法。选项可能会有所不同,具体取决于提供程序安装的操作系统和集合版本。要查看可用算法的列表,请运行以下命令:

 certutil -oid 2 | findstr pwszCNGAlgid 

要使用的指定 CSP 还必须支持指定的算法和相应的编码长度。EncryptionAlgorithm = 3des EncryptionLength 使用的加密算法的长度。指定加密算法允许的任何长度。EncryptionLength = 128 ProviderName Provider name 是 CSP 的显示名称。如果您不知道正在使用的 CSP 的提供程序名称,请从命令行运行certutil –csplist。该命令将显示本地系统上所有可用 CSP 的名称。ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType 提供者类型用于根据“RSA Full”等特定算法能力选择特定供应商。如果您不知道您使用的是哪种类型的 CSP 提供程序,请运行certutil –csplist从命令行。该命令显示本地系统上所有可用 CSP 的提供程序类型。ProviderType = 1 RenewalCert 如果您需要更新在创建证书请求的系统上存在的证书,您必须指定其哈希值作为此键的值。任何证书的哈希值在创建证书请求的计算机上可用。如果您不知道证书的哈希值,请使用证书 MMC 管理单元并查看是否需要更新证书。打开证书属性并查看证书的“指纹”属性。证书扩展需要 PKCS #7 或 CMC 格式。RenewalCert = 4EDF274BD2919C6E9EC6A522F0F3B153E9B1582D RequesterName
注意:这是为了代表其他用户请求注册。该请求还必须使用注册代理证书进行签名,否则 CA 将拒绝该请求。使用-cert选项指定注册代理证书。如果 RequestType 设置为 PKCS # 7 或 CMC,则可以为证书请求指定请求者名称。如果 RequestType 设置为 PKCS #10,则该键将被忽略。Requestername 只能设置为请求的一部分。您不能在待处理的请求中操纵 Requestername。DomainUser Requestername = "ContosoBSmith" RequestType 指定用于创建和提交证书请求的标准。PKCS10 - 1
PKCS7 - 2
CMC - 3
证书 - 4
提示:此选项表示自签名或自颁发的证书。它不会创建请求,而是创建新证书,然后安装此证书。自签名是默认选项。使用-cert选项指定签名证书以创建自签名证书,但不要自己签名。RequestType = CMC SecurityDescriptor
提示:这仅与设备上下文中的非智能卡密钥有关。包含与安全对象相关的机密信息。对于大多数安全对象,您可以在调用中为对象指定安全描述创建对象的函数。该字符串基于安全描述语言。SecurityDescriptor = "D: P (A ;; GA ;;; SY) (A ;; GA ;;; BA)" AlternateSignatureAlgorithm 指定并检索布尔值,指示是否为 PKCS 的对象识别码 (OID) 的签名算法# 10 个要求或证书签名是离散的或组合的。true, false AlternateSignatureAlgorithm =
false:对于 RSA 签名,False 值表示 Pkcs1 v1.5 签名。真值表示签名 v2.1。静音 默认情况下,此选项允许 CSP 访问交互式用户的桌面,并要求用户提供 PIN 智能卡等信息。如果此键设置为 TRUE,则 CSP 无法与桌面交互,并将被阻止向用户显示任何界面。true, false Silent = true SMIME 如果此参数设置为 TRUE,则将 OID 值为 1.2.840.113549.1.9.15 的扩展名添加到请求中。OID 代码的数量取决于安装的操作系统版本和 CSP 功能,即指的是可以被 Outlook 等多用途 Internet 邮件扩展 (S/MIME) 使用的对称加密算法。真的,false SMIME = true UseExistingKeySet 此参数用于确定现有密钥对将用于构建证书请求。如果此键设置为 TRUE,您还必须为 RenewalCert 键或 KeyContainer 键指定一个值。您尚未设置键 Exportable,因为您无法更改现有键的属性。在这种情况下,创建证书请求时不会创建密钥文档。true, false UseExistingKeySet = true KeyProtection 指定一个值,该值指示在使用前如何保护私钥。XCN_NCRYPT_UI_NO_PROTCTION_FLAG - 0 在这种情况下,创建证书请求时不会创建密钥文档。true, false UseExistingKeySet = true KeyProtection 指定一个值,该值指示在使用前如何保护私钥。XCN_NCRYPT_UI_NO_PROTCTION_FLAG - 0 在这种情况下,创建证书请求时不会创建密钥文档。true, false UseExistingKeySet = true KeyProtection 指定一个值,该值指示在使用前如何保护私钥。XCN_NCRYPT_UI_NO_PROTCTION_FLAG - 0
XCN_NCRYPT_UI_PROTECT_KEY_FLAG - 1
XCN_NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG - 2 KeyProtection = NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG SuppressDefaults 指定一个布尔值,指示请求中是否包含广泛属性和默认属性。默认值由它们的对象标识符(OID)表示。true, false SuppressDefaults = true FriendlyName 新证书的短名称。Text FriendlyName = "Server1" ValidityPeriodUnits
注意:这仅在请求type = cert 时使用。指定一些要与 ValidityPeriod 一起使用的单位。ValidityPeriodUnits = 3 ValidityPeriod number
注意:这仅在请求type = cert 时使用。VValidityPeriod 在英语中必须是复数。年、月、周、日、时、分、秒ValidityPeriod = 年

此部分是可选的。

OID 扩展定义 Example2.5.29.17 2.5.29.17 = "{text}" continue continue = "UPN=User@Domain.com&" continue continue = "EMail=User@Domain.com&" continue continue = "DNS = host .domain .com & " continue continue =" DirectoryName = CN = Name, DC = Domain, DC = com & " continue continue =" URL = http:///host.domain.com/default.html& " continue continue =" IPAddress = 10.0 .0.1 &“继续 继续=”RegisteredId = 1.2.3.4.5 &“继续 继续=”1.2.3.4.6。1 = {utf8} 字符串 & " continue 继续=" 1.2.3.4.6.2 = {八位字节} AAECAwQFBgc = & "继续 继续= "1.2.3.4.6.2 = {八位字节} {十六进制} 00 01 02 03 04 05 06 07 &"继续 继续= "1.2.3.4.6.3 = {asn} BAgAAQIDBAUGBw == &" continue continue = "1.2.3.4.6.3 = {hex} 04 08 00 01 02 03 04 05 06 07 "2.5.29.37 2.5.29.37 = "{text} " continue continue = 1.3 .6.1.5.5.7. continue continue = "1.3.6.1.5.5.7.3 .1 "2.5.29.19" {text} ca = 0pathlength = 3 "Critical Critical = 2.5.29.19 KeySpec AT_NONE - 0
AT_SIGNATURE - 2
AT_KEYEXCHANGE - 1请求类型 PKCS10 - 1
PKCS7 - 2
CMC - 3
证书- 4的KeyUsage CERT_DIGITAL_SIGNATURE_KEY_USAGE - 80(128)
CERT_NON_REPUDIATION_KEY_USAGE - 40(64)
CERT_KEY_ENCIPHERMENT_KEY_USAGE - 20(32)
CERT_DATA_ENCIPHERMENT_KEY_USAGE - 10(16)
CERT_KEY_AGREEMENT_KEY_USAGE - 8
CERT_KEY_CERT_SIGN_KEY_USAGE - 4
CERT_OFFLINE_CRL_SIGN_KEY_USAGE - 2
CERT_CRL_SIGN_KEY_USAGE - 2
CERT_ENCIPHER_ONLY_KEY_USAGE - 1
CERT_DECIPHER_ONLY_KEY_USAGE - 8000(32768)KeyUsageProperty NCRYPT_ALLOW_DECRYPT_FLAG - 1
NCRYPT_ALLOW_SIGNING_FLAG - 2
NCRYPT_ALLOW_KEY_AGREEMENT_FLAG - 4
NCRYPT_ALLOW_ALL_USAGES - ffffff (16777215) KeyProtection NCRYPT_UI_NO_PROTECTION_FLAG - 0
NCRYPT_UI_PROTECT_KEY_FLAG - 1
NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG - 2个SubjectNameFlags模板CT_FLAG_SUBJECT_REQUIRE_COMMON_NAME - 40000000(1073741824)
CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH - 80000000(2147483648)
CT_FLAG_SUBJECT_REQUIRE_DNS_AS_CN - 10000000(268435456)
CT_FLAG_SUBJECT_REQUIRE_EMAIL - 20000000(536870912)
CT_FLAG_OLD_CERT_SUPPLIES_SUBJECT_AND_ALT_NAME - 8
CT_FLAG_SUBJECT_ALT_REQUIRE_DIRECTORY_GUID - 1000000(16777216)
CT_FLAG_SUBJECT_ALT_REQUIRE_DNS - 8000000(134217728)
CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS - 400000(4194304)
CT_FLAG_SUBJECT_ALT_REQUIRE_EMAIL - 4000000 (67108864)
CT_FLAG_SUBJECT_ALT_REQUIRE_SPN - 800000 (8388608)
CT_FLAG_SUBJECT_ALT_REQUIRE_UPN - 2000000(33554432)X500NameFlags CERT_NAME_STR_NONE - 0
CERT_OID_NAME_STR - 2
CERT_X500_NAME_STR - 3
CERT_NAME_STR_SEMICOLON_FLAG - 40000000(1073741824)
CERT_NAME_STR_NO_PLUS_FLAG - 20000000(536870912)
CERT_NAME_STR_NO_QUOTING_FLAG - 10000000(268435456)
CERT_NAME_STR_CRLF_FLAG - 8000000(134217728)
CERT_NAME_STR_COMMA_FLAG - 4000000(67108864)
CERT_NAME_STR_REVERSE_FLAG - 2000000( 33554432)
CERT_NAME_STR_FORWARD_FLAG - 1000000 (16777216)
CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG - 10000 (65536)
CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG - 20000 (131072)
CERT_NAME_STR4400000(UNICODE_FLAG)
CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG - 80000 (524288)
CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG - 100000 (1048576)
CERT_NAME_STR_ENABLE_PUNYCODE_FLAG - 200000 (2097152)

笔记:

SubjectNameFlags允许 INF 文件指定哪个 Subject 和 SubjectAltName 扩展名将由certreq根据用户或当前机器属性自动填充:DNS 名称、UPN 等。使用“模板”一词表示使用SubjectNameFlags。这允许在许多上下文中使用单个 INF 文件,以创建与每个特定上下文匹配的要求。

X500NameFlags指定在主题 INF 密钥转换为 ASN.1 编码的可分辨名称时直接传递给 CertStrToName API 的标志。

要通过使用 certreq 请求证书,请使用以下示例中的步骤:

警告

本节内容基于 Windows Server 2008 AD CS 的默认设置。例如,将密钥长度设置为 2048,选择 Microsoft Software Key Storage Provider 作为 CSP,并使用 Secure Hash Algorithm 1 (SHA1)。请根据贵公司隐私政策的要求对这些选项进行评分。

要创建策略文件 (.inf) 并将以下示例保存在记事本中作为 RequestConfig.inf:

 [NewRequest] Subject = "CN=" Exportable = TRUE KeyLength = 2048 KeySpec = 1 KeyUsage = 0xf0 MachineKeySet = TRUE [RequestAttributes] CertificateTemplate="WebServer" [Extensions] OID = 1.3.6.1.5.5.7.3.1 OID = 1.3.6.1.5.5.7.3.2 

在您请求证书类型的计算机上,输入以下命令:

 CertReq –New RequestConfig.inf CertRequest.req 

以下示例说明了 OID 和其他无法解释的数据的 [Strings] 部分语法的实现。例如,EKU 扩展的新 {text} 语法使用逗号分隔的 OID 列表:

 [Version] Signature="$Windows NT$ [Strings] szOID_ENHANCED_KEY_USAGE = "2.5.29.37" szOID_PKIX_KP_SERVER_AUTH = "1.3.6.1.5.5.7.3.1" szOID_PKIX_KP_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2" [NewRequest] Subject = "CN=TestSelfSignedCert" Requesttype = Cert [Extensions] %szOID_ENHANCED_KEY_USAGE%="{text}%szOID_PKIX_KP_SERVER_AUTH%," _continue_ = "%szOID_PKIX_KP_CLIENT_AUTH%" 

Certreq - 接受

 CertReq -accept [Options] [CertChainFileIn | FullResponseFileIn | CertFileIn] 

先前使用证书创建的私钥链接的参数–accept已发布,并从证书请求系统中删除待处理的证书请求(如果需要)。

您可以使用此示例手动接受证书:

 certreq -accept certnew.cer 

警告

–accept参数、-user和-machine选项指示证书是安装在用户上下文中还是机器上下文中。如果在两种上下文中都有与当前安装的公钥匹配的特殊要求,则不需要这些选项。如果没有特殊要求,则必须指定其中一项要求。

Certreq - 政策

 certreq -policy [-attrib AttributeString] [-binary] [-cert CertID] [RequestFileIn [PolicyFileIn [RequestFileOut [PKCS10FileOut]]]] 
  1. 配置文件定义当限定子句定义为 Policy.inf 时应用于 CA 证书的约束。

  2. 如果您在没有任何附加参数的情况下键入certreq -policy,它将打开一个对话窗口,以便您可以选择所需的文件(req、cmc、txt、der、cer 或 crt)。当您选择所需文件并按下打开按钮时,将打开另一个对话框窗口以选择 INF 文件。

您可以使用此示例创建交叉证书请求:

 certreq -policy Certsrv.req Policy.inf newcertsrv.req 

Certreq 符号

 certreq -sign [Options] [RequestFileIn [RequestFileOut]] 
  1. 如果您在没有任何附加参数的情况下键入certreq -ign,它将打开一个对话窗口,以便您可以选择所需的文件(req、cmc、txt、der、cer 或 crt)。

  2. 签署符合条件的子请求可能需要企业管理员登录。这是获得合格二级证书的最佳方式。

  3. 用于签署子请求的证书是使用合格的子模板创建的。企业管理员必须签署请求或向将签署证书的个人授予用户权限。

  4. 当您签署 CMC 请求时,您需要让多名员工签署此请求,具体取决于与资格子请求相关的保证级别。

  5. 如果辅助 CA CA 使您有资格以脱机方式安装,则您必须具有来自脱机根 CA 的合格辅助 CA 的 CA 证书。如果根 CA 处于联机状态,请在证书服务安装向导中为合格的辅助 CA 指定 CA 证书。

以下命令序列将显示如何创建新的证书请求、对其进行签名并提交:

 certreq -new policyfile.inf MyRequest.req certreq -sign MyRequest.req MyRequest_Sign.req certreq -submit MyRequest_Sign.req MyRequest_cert.cer 

Certreq - 注册

要注册证书:

 certreq –enroll [Options] TemplateName 

要更新现有证书:

 certreq –enroll –cert CertId [Options] Renew [ReuseKeys] 

您只能按时更新有效证书。过期的证书无法续订,必须更换为新证书。

以下是带有序列号的证书更新示例:

 certreq –enroll -machine –cert "61 2d 3c fe 00 00 00 00 00 05" Renew 

下面是使用星号 (*) 注册名为 WebServer 的证书模板以通过 U/I 选择策略服务器的示例:

 certreq -enroll –machine –policyserver * "WebServer" 

选项

选项说明-any Force ICertRequest::Submit 指定编码类型。-attrib 指定一对名称和值字符串,用冒号分隔。
用 n 分隔成对的名称和值字符串(例如,Name1: Value1nName2: Value2)。-binary 以二进制格式而不是 base64 编码格式输出文件。-PolicyServer "ldap:"
为运行证书注册策略 Web 服务的计算机插入唯一的 URI 或 ID。
要确定您要通过浏览使用所需的文件,只需使用减号 ( -) 为了。-config 使用配置字符串中指定的 CA 进行处理,即 CAHostNameCAName。对于 https 连接,指定注册的服务器 URI。对于本地 CA 计算机,请使用减号 (-)。-Anonymous 对证书注册 Web 服务使用匿名登录信息。-Kerberos 为证书注册 Web 服务使用 Kerberos(域)登录信息。-ClientCertificate 您可以替换为证书、CN、EKU、模板、电子邮件、UPN 和新语法名称 = 值的指纹。-UserName 与证书注册 Web 服务一起使用。您可以将其替换为 SAM 名称或域用户名。此选项与-p参数一起使用。-p 与证书注册 Web 服务一起使用。替换为实际用户的密码。此选项与选项 -用户名一起使用。-user 为新证书请求配置用户上下文或指定证书接受上下文。如果在 INF 或模板中未指定,则这是默认上下文。-machine 配置新证书请求或为机器上下文指定证书接受上下文。对于新要求,它必须匹配 MachineKeyset 的 INF 键和模板上下文。如果未指定此选项且模板没有上下文,则默认为用户的上下文。-crl 在 CertChainFileOut 指定的 PKCS #7 文件或 RequestFileOut 指定的 base64 编码文件的输出中包括证书吊销列表 (CRL)。-rpc Active Directory 证书服务 (AD CS) 使用远程过程服务器连接而不是分布式 COM 的说明。-AdminForceMachine 使用密钥服务或替代选项从本地系统上下文发送请求。调用此选项的用户需要是本地管理员。-RenewOnBehalfOf 代表证书中标识的实体发送续订。此选项在调用 ICertRequest :: Submit -f 强制覆盖现有文件时设置 CR_IN_ROBO。这也会忽略缓存的模板和策略。-q 使用静默模式;阻止所有交互提醒。-Unicode 当标准输出被重定向或导致另一个命令时写入 Unicode 输出,这在从 Windows PowerShell 脚本调用时很有用)。-UnicodeText 将 base64 编码数据块写入文件时发送 Unicode 输出。-RenewOnBehalfOf 代表证书中标识的实体发送续订。此选项在调用 ICertRequest :: Submit -f 强制覆盖现有文件时设置 CR_IN_ROBO。这也会忽略缓存的模板和策略。-q 使用静默模式;阻止所有交互提醒。-Unicode 当标准输出被重定向或导致另一个命令时写入 Unicode 输出,这在从 Windows PowerShell 脚本调用时很有用)。-UnicodeText 将 base64 编码数据块写入文件时发送 Unicode 输出。-RenewOnBehalfOf 代表证书中标识的实体发送续订。此选项在调用 ICertRequest :: Submit -f 强制覆盖现有文件时设置 CR_IN_ROBO。这也会忽略缓存的模板和策略。-q 使用静默模式;阻止所有交互提醒。-Unicode 当标准输出被重定向或导致另一个命令时写入 Unicode 输出,这在从 Windows PowerShell 脚本调用时很有用)。-UnicodeText 将 base64 编码数据块写入文件时发送 Unicode 输出。-Unicode 当标准输出被重定向或导致另一个命令时写入 Unicode 输出,这在从 Windows PowerShell 脚本调用时很有用)。-UnicodeText 将 base64 编码数据块写入文件时发送 Unicode 输出。-Unicode 当标准输出被重定向或导致另一个命令时写入 Unicode 输出,这在从 Windows PowerShell 脚本调用时很有用)。-UnicodeText 将 base64 编码数据块写入文件时发送 Unicode 输出。

格式

格式说明RequestFileIn Base64编码或二进制输入文件名:请求PKCS#10证书,请求CMS证书,请求更新PKCS#7证书,X.509证书交叉验证,或请求请求KeyGen标签格式的证书。RequestFileOut Base64 编码的输出文件名。CertFileOut X-509 文件名是 Base64 编码的。PKCS10FileOut 仅使用 Certreq -policy。PKCS10 的输出文件名编码为 Base64。CertChainFileOut PKCS #7 文件名是 Base64 加密的。FullResponseFileOut 完整的响应文件名是 Base64 编码的。PolicyFileIn 仅使用 Certreq -policy。INF 文件包含用于满足资格要求的扩展的文本表示。


0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *