OpenSSL 用于传输层平安(TLS)协定的开源工具包,以前称为安全套接字层(Secure Sockets Layer)协定。
自签名SSL证书的危险
自签名SSL证书是不受浏览器信赖的,即便网站装置了自签名SSL证书,当用户拜访时浏览器还是会继续弹出正告。
为了网站的平安,请停止使用自签名SSL证书,举荐应用受信赖的CA机构提供的收费且平安的SSL证书。
生成步骤
通过openssl生成私钥
openssl genrsa -out server.key 1024
依据私钥生成证书申请文件csr
openssl req -new -key server.key -out server.csr
这一步会提醒你补充一些信息,Common Name能够输出:*.yourdomain.com,这种形式生成通配符域名证书。
应用私钥对证书申请进行签名从而生成证书
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650➜ ssl lsserver.crt server.csr server.key
这样10年有效期的自签名证书就生成好了,能够把它装在服务上,如果你用的Nginx:
server { listen 443 ssl http2; server_name youdomain.com; root /data/dist/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ssl_certificate "/etc/nginx/ssl/server.crt"; ssl_certificate_key "/etc/nginx/ssl/server.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on;}
到浏览器查看,提醒:
所以,还是间接去CA机构签发证书吧。