第 12 章 CMCRequest (创建 CMC 请求)
CMC 请求工具 CMCRequest 会从一个或多个 PKCS the10 或 CRMF 请求创建一个 CMC 请求。该工具也可用于撤销证书。
12.1. 语法
CMCRequest 命令使用配置文件(.cfg)作为参数。.cfg 文件必须包含格式化的 CMC 请求文件的路径:
CMCRequest /path/to/file.cfg
对于撤销请求,rev Request.enable 参数必须设置为 true,相关参数必须包含适当的信息。
.cfg 文件包含以下参数:
参数 | 描述 |
---|---|
numRequests |
PKCS the10 或 CRMF 请求总数。在某些情况下,此参数的值可以是 0。
例如,numRequests=1。
|
输入 |
PKCS the10 或 CRMF 请求的完整路径和文件名,这些请求必须采用 base-64 编码格式。多个文件名用空格分开。如果 numRequests 的值大于 0,则需要此参数。
例如,input=crmf1。
|
output |
必需。生成的二进制 CMC 请求的完整路径和文件名。
例如,output=cmc。
|
nickname |
必需。用于为完整 CMC 请求签名的代理证书的别名。
例如,nickname=CS Agent-102504a 的 102504a ID。
|
dbdir |
必需。到
cert8.db 、key3.db 和 secmod.db 数据库所在的目录的完整路径。这通常是代理的个人目录,如其浏览器证书数据库在主目录中。
例如,
~jsmith/.mozilla/firefox 。
|
password |
必需。存储代理证书的
cert8.db 的令牌密码。
例如,password=secret。
|
格式 |
请求格式,可以是 pkcs10 或 crmf。
例如,format=crmf。
|
以下 .cfg 文件参数设置 CMC 控制:
参数 | 描述 |
---|---|
confirmCertAcceptance.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,确认CertAcceptance.enable=false。
|
confirmCertAcceptance.serial |
确认CertAcceptance 控制的序列号。
例如,确认CertAcceptance.serial=3。
|
confirmCertAcceptance.issuer |
确认CertAcceptance 控件的签发者名称。
例如,confirmCertAcceptance.issuer=cn=Certificate Manager,ou=102504a,o=102504a,c=us。
|
getCert.enable |
如果设置为 true,则请求包含此属性。如果没有设置此参数,则假定该值为 false。
例如,getCert.enable=false。
|
getCert.serial |
getCert 控制的序列号。
For example, getCert.serial=300.
|
getCert.issuer |
getCert 控制的签发者名称。
例如,getCert.issuer=cn=Certificate Manager,ou=102504a,o=102504a,c=us。
|
dataReturn.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,dataReturn.enable=false。
|
dataReturn.data |
dataReturn 控制中包含的数据。
For example, dataReturn.data=test.
|
transactionMgt.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,Transaction Mgt.enable=true。
|
transactionMgt.id |
transactionMgt 控制的事务标识符。VeriSign 建议事务 ID 应该是公钥的 MD5 哈希。
|
senderNonce.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,senderNonce.enable=false。
|
senderNonce.id |
senderNonce 控制的 ID。
例如,senderNonce.id=testing。
|
revRequest.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,re vRequest.enable=true。
|
revRequest.nickname |
正在撤销的证书的别名。
例如,re vRequest.nickname=newuser 的 102504a ID。
|
revRequest.issuer |
正在撤销的证书的签发者名称。
例如,re vRequest.issuer=cn=Certificate Manager,ou=102504a,o=102504a,c=us。
|
revRequest.serial |
正在撤销的证书的序列号。
例如,re vRequest.serial=75。
|
revRequest.reason |
吊销此证书的原因。允许的值 未指定、keyCompromise、caCompromise、affiliationChanged、替换 的、cessationOfOperation、certHold 和 删除FromCRL。
例如,re vRequest.reason=unspecified。
|
revRequest.sharedSecret |
撤销请求的共享 secret。
例如,re vRequest.sharedSecret=testing。
|
revRequest.comment |
撤销请求的文本注释。
例如,re vRequest.comment=readable comment。
|
revRequest.invalidityDatePresent |
如果设置为 true,则当前时间是撤销的证书的无效日期。如果设置为 false,则不存在无效的日期。
例如,re vRequest.invalidityDatePresent=false。
|
identityProof.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,identityProof.enable=false。
|
identityProof.sharedSecret |
identityProof 控制的共享机密。
例如,identityProof.sharedSecret=testing。
|
popLinkWitness.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,hot LinkWitness.enable=false。
|
LraPopWitness.enable |
如果设置为 true,则请求包含此控制。如果没有设置此参数,则假定该值为 false。
例如,LraPopWitness.enable=false。
|
LraPopWitness.bodyPartIDs |
空格分隔的正文部分 ID 列表,以进行 LraPopWtiness 控制。
例如,LraPopWitness.bodyPartIDs=1 。
|