生成没有配置文件的 OpenSSL CRL 文件
Generate OpenSSL CRL file without a configuration file
我有一个基本的 nginx 家庭服务器设置,我使用客户端证书允许外部访问。我已按照本指南进行所有设置,一切正常:
https://gist.github.com/rkaramandi/20a04a41536f3d7e6d2f26b0b9605ab6
总结:
openssl genrsa -aes256 -out ca.privkey 4096
openssl req -new -x509 -days 365 -key ca.privkey -out ca.crt
openssl genrsa -aes256 -out bobs-ipad.privkey 4096
openssl req -new -out bobs-ipad.csr -key bobs-ipad.privkey
openssl x509 -req -days 365 -in bobs-ipad.csr -CA ca.crt -CAkey ca.privkey -set_serial 100 -out bobs-ipad.crt
openssl pkcs12 -export -clcerts -in bobs-ipad.crt -inkey bobs-ipad.privkey -out bobs-ipad.p12
也openssl pkcs12 -in bobs-ipad.p12 -out bobs-ipad.pem -nodes
生成pem文件。
并且在 nginx 配置中:
ssl_client_certificate <path>/ca.crt;
# ssl_crl <path>/ca.crl;
ssl_verify_client optional;
...
location / {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
我可以从外部访问服务器,但只有客户端计算机上的签名证书才允许访问。
但是,如果其中一个签名证书遭到破坏,我将不得不重新生成 CA 并重新分发新的签名客户端证书。我知道 CRL 文件可用于在 nginx 配置中使用 ssl_crl <path to crl>;
来吊销证书,但我不确定是否使用我遵循的指南生成此文件。
可以使用这样的命令openssl ca -gencrl -keyfile ca.privkey -cert ca.crt -out ca.crl
但这依赖于我认为带有证书索引的配置文件?
是否可以使用类似上述的命令输入一个(或列表)我想撤销的 pem 或 p12 客户端证书-in bobs-ipad.pem
?
如果不是,我可能需要重新开始并使用索引文件进行配置,然后 -revoke
证书并重新生成 crl 文件。
提前致谢,
理查德
我有一个基本的 nginx 家庭服务器设置,我使用客户端证书允许外部访问。我已按照本指南进行所有设置,一切正常:
https://gist.github.com/rkaramandi/20a04a41536f3d7e6d2f26b0b9605ab6
总结:
openssl genrsa -aes256 -out ca.privkey 4096
openssl req -new -x509 -days 365 -key ca.privkey -out ca.crt
openssl genrsa -aes256 -out bobs-ipad.privkey 4096
openssl req -new -out bobs-ipad.csr -key bobs-ipad.privkey
openssl x509 -req -days 365 -in bobs-ipad.csr -CA ca.crt -CAkey ca.privkey -set_serial 100 -out bobs-ipad.crt
openssl pkcs12 -export -clcerts -in bobs-ipad.crt -inkey bobs-ipad.privkey -out bobs-ipad.p12
也openssl pkcs12 -in bobs-ipad.p12 -out bobs-ipad.pem -nodes
生成pem文件。
并且在 nginx 配置中:
ssl_client_certificate <path>/ca.crt;
# ssl_crl <path>/ca.crl;
ssl_verify_client optional;
...
location / {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
我可以从外部访问服务器,但只有客户端计算机上的签名证书才允许访问。
但是,如果其中一个签名证书遭到破坏,我将不得不重新生成 CA 并重新分发新的签名客户端证书。我知道 CRL 文件可用于在 nginx 配置中使用 ssl_crl <path to crl>;
来吊销证书,但我不确定是否使用我遵循的指南生成此文件。
可以使用这样的命令openssl ca -gencrl -keyfile ca.privkey -cert ca.crt -out ca.crl
但这依赖于我认为带有证书索引的配置文件?
是否可以使用类似上述的命令输入一个(或列表)我想撤销的 pem 或 p12 客户端证书-in bobs-ipad.pem
?
如果不是,我可能需要重新开始并使用索引文件进行配置,然后 -revoke
证书并重新生成 crl 文件。
提前致谢,
理查德