SSL HTTPS 生成证书

Posted 备忘录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSL HTTPS 生成证书相关的知识,希望对你有一定的参考价值。

SSL HTTPS

一、生成服务器私钥、公钥
$ openssl genrsa -out server.key 2048
$ openssl rsa -in server.key -pubout -out server.pem

二、生成CA证书,步骤是
(1)生成私钥
(2)生成X.509 Certificate Signing Request(CSR),
   此步骤需要输入国家、省份、城市、
   组织公司名(注意不要CA的名称不要与后面签发给服务器和客户端名字相同)、
   部门(可空)、
   Common Name(填写域名,比如localhost)、
   Email地址(可空)、
   A challenge password(空)、
   An optional company name(空)
(3)生成X509 Certificate Data Managent(CRT)
$ openssl genrsa -out ca.key 2048
$ openssl req -new -key ca.key -out ca.csr
$ openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt (注:V3版本请用后面的替换)

三、生成服务器证书(通过CA签名)
$ openssl req -new -key server.key -out server.csr
$ openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt (注:V3版本请用后面的替换)
四、其他
(1)如果genras带-des3参数,将要求输入密码。
(2)合并证书和私钥的pem
$ cat server.crt server.key > server_.pem
(3)在x509 req命令中加入-days 7310可以将证书设置为20年,例子:
将CA设置为20年,服务器证书设置为10年
$ openssl x509 -req -days 7310 -in ca.csr -signkey ca.key -out ca.crt
$ openssl x509 -req -days 3650 -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
(4)创建版本V3的证书
$ vim v3ca.ext
basicConstraints=CA:TRUE
authorityKeyIdentifier=keyid, issuer
keyUsage = critical, cRLSign, digitalSignature, keyCertSign
$ vim v3.ext
basicConstraints=CA:FALSE
authorityKeyIdentifier=keyid, issuer
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
$ openssl x509 -req -days 7310 -sha1 -extfile v3ca.ext -in ca.csr -signkey ca.key -out ca.crt
$ openssl x509 -req -days 3650 -sha1 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

 

以上是关于SSL HTTPS 生成证书的主要内容,如果未能解决你的问题,请参考以下文章

Https系列之一:https的简单介绍及SSL证书的生成

https如何生成密钥

https证书生成方法,怎么生成https证书

Https系列之一:https的简单介绍及SSL证书的生成

SSL HTTPS 生成证书

Https系列之一:https的简单介绍及SSL证书的生成