如何利用openssl生成自签名ssl证书?

正规的证书须要向CA机构申请,通常流程为:先生成一个私钥,而后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。可是向CA申请证书一般难免费,咱们能够经过openssl自签名的形式生成ssl证书,实现https访问效果,.crt结尾的是证书文件,.key结尾的是密钥文件,.csr结尾的是证书请求文件。node

1.建立签发CA根证书的配置文件ext.ini

basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = www.test.com DNS.2 = *.test.com IP.1 = 127.0.0.1 IP.2 = 192.168.127.33

注:alt_names中既能够填域名,也能够填ip地址,根据实际状况,按照上述样式继续添加git

 

2.建立CA证书及密钥

openssl req -x509 -newkey rsa:2048 -out MyCA.crt -outform PEM -keyout MyCA.key -days 3650 -verbose -nodes -sha256 

注:运行上述命令后,须要根据提示输入信息,随意填写,可是要记住填的内容浏览器

 

3.建立ssl证书密钥及请求文件

openssl req -newkey rsa:2048 -keyout MyServer.key -out MyServer.csr -sha256 -nodes

注:根据提示填写安全

 

4.签发ssl证书:

openssl x509 -req -CA MyCA.crt -CAkey MyCA.key -in MyServer.csr -out MyServer.crt -days 3650 -extfile ext.ini -sha256 -set_serial 0x1111

 

5.向浏览器中手动导入CA证书

一般浏览器中内置了CA根证书,可是咱们的CA证书是利用openssl本身制做的的,因此须要手动导入。以Chrome浏览器为例,咱们先点击右上角三个·,而后依次点击‘设置’,‘隐私设置和安全性’,‘安全’,‘管理证书’,‘受信任的根证书颁发机构’,‘导入’,而后将MyCA.crt导入便可,接下来就能够经过浏览器以https方式访问咱们的网站了。服务器

相关文章
相关标签/搜索