Ssl 将CRL(证书撤销列表)url添加到证书

Ssl 将CRL(证书撤销列表)url添加到证书,ssl,openssl,certificate,client-certificates,certificate-revocation,Ssl,Openssl,Certificate,Client Certificates,Certificate Revocation,我正在使用以下命令生成根CA: openssl genrsa -aes256 -out ca.key.pem -passout pass:KeyPassword 4096 openssl req -key ca.key.pem -passin pass:Password -new -x509 -days 365 -sha256 -out ca.root.pem 然后,我使用以下命令创建签名用户证书(不使用中间证书): openssl genrsa -aes256 -out ca.key.pem

我正在使用以下命令生成根CA:

openssl genrsa -aes256 -out ca.key.pem -passout pass:KeyPassword 4096
openssl req -key ca.key.pem -passin pass:Password -new -x509 -days 365 -sha256 -out ca.root.pem
然后,我使用以下命令创建签名用户证书(不使用中间证书):

openssl genrsa -aes256 -out ca.key.pem -passout pass:KeyPassword 4096
openssl req -key ca.key.pem -passin pass:Password -new -x509 -days 365 -sha256 -out ca.root.pem
1) 为用户生成密钥

openssl req -newkey rsa:2048 -nodes -keyout keyname.pem -days 365
2) 创建企业社会责任

openssl req -out keyname.csr -key keyname.pem -new -days 365
3) 使用根证书对密钥进行签名

openssl ca -batch -create_serial -config openssl.cnf -cert ca.root.pem -keyfile ca.key.pem -passin pass:KeyFinalPassword -in keyname.csr -out certname.pem
4) 生成.p12文件

openssl pkcs12 -name username -inkey keyname.pem -in certname.pem -export -out username.p12 -password pass:password
注意-我已将crlDistributionPoints=URI:与以下选项一起添加到openssl.cnf:

# For certificate revocation lists.
# crlDistributionPoints = URI:http://HOSTNAME/crl/distripoint.crl.pem
crlDistributionPoints = URI:http://localhost:8000/crl/distripoint.crl.pem
crlnumber         = $dir/config/crl/crlnumber
crl               = $dir/config/crl/ca.crl.pem
crl_extensions    = crl_ext
default_crl_days  = 60

注意-我使用
crlDistributionPoints
参数生成的distribution.crl.pem必须添加到您正在使用的CA的
x509_extensions
部分。(在您的示例中,似乎已将此参数添加到CA节本身。)

openssl ca
使用带有这些行的
openssl.cnf
CRL分发点
扩展添加到颁发的证书:

[ ca ]
default_ca      = CA_default

[ CA_default ]
(...other parameters...)
x509_extensions = added-extensions

[ added-extensions ]
crlDistributionPoints = URI:http://localhost:8000/crl/distripoint.crl.pem
对于
req
ca
命令,您可能希望使用自定义的
openssl.cnf
,而不是默认的
req
命令;默认值包含许多示例条目,这些条目可能不符合您的要求。给你


(旁注:上次生成.p12文件的命令与问题无关;它仅以另一种格式打包已创建的证书。)

必须将
crlDistributionPoints
参数添加到您正在使用的CA的
x509_extensions
部分。(在您的示例中,似乎已将此参数添加到CA节本身。)

openssl ca
使用带有这些行的
openssl.cnf
CRL分发点
扩展添加到颁发的证书:

[ ca ]
default_ca      = CA_default

[ CA_default ]
(...other parameters...)
x509_extensions = added-extensions

[ added-extensions ]
crlDistributionPoints = URI:http://localhost:8000/crl/distripoint.crl.pem
对于
req
ca
命令,您可能希望使用自定义的
openssl.cnf
,而不是默认的
req
命令;默认值包含许多示例条目,这些条目可能不符合您的要求。给你

(旁注:上一个生成.p12文件的命令与问题无关;它仅以另一种格式打包已创建的证书。)