使用特殊规则签署证书申请

时间:2012-12-15 08:59:42

标签: ssl openssl certificate ssl-certificate

好吧,我不确定我是否正确指出了问题。

当我浏览网页时,我检查了几个SSL证书,并注意到即使根证书也没有设置应用程序的所有属性(或者它被调用)。

当我创建自己的CA证书时,它有:

- 所有问题规则,

- 所有申请规则。

此根签署的新证书包含:

- 所有申请规则。

Cert公司为Class 1,Class 2,EV制作了另一个属性。是否可以使用OpenSSL设置这些规则。

1 个答案:

答案 0 :(得分:1)

如果您正在谈论KeyUsage(例如,代码签名或客户端身份验证),那么openSSL可以添加这些属性。以下是使用特定KeyUsage属性创建CSR(证书签名请求)的示例。

使用以下内容创建名为test.conf的文本文件:

[req]
distinguished_name = req_distinguished_name
req_extensions     = v3_user_req

[req_distinguished_name]
countryName                     = Country Name (2 letter code)
stateOrProvinceName             = State or Province Name (full name)
localityName                    = Locality Name (city, district)
organizationName                = Organization Name (company)
organizationalUnitName          = Organizational Unit Name (department, division)
commonName                      = Common Name (hostname, IP, or your name)

countryName_default             = US
stateOrProvinceName_default     = Utah
localityName_default            = MyOrganization
organizationName_default        = MyDepartment
organizationalUnitName_default  = MyUnitName
commonName_default              = myserver.mydomain.com

[ v3_user_req ]
basicConstraints       = CA:FALSE
keyUsage               = digitalSignature, keyEncipherment
nsCertType             = client, server, email, objsign

现在运行此命令:

openssl req -new -nodes -newkey rsa:2048 -config test.conf -keyout hostname.key -out hostname.csr
x509v3_config

您的CSR将位于hostname.csr并拥有此X509v3 Key Usage部分:

X509v3 Key Usage:
  Digital Signature, Key Encipherment