0

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

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

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

-所有发行规则,

-所有应用规则。

此根签名的新证书具有:

-所有应用规则。

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

4

1 回答 1

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.csrX509v3 Key Usage部分中:

X509v3 Key Usage:
  Digital Signature, Key Encipherment
于 2012-12-17T14:21:08.750 回答