关于openssl:使用OpenSSL生成自签名证书

9次阅读

共计 921 个字符,预计需要花费 3 分钟才能阅读完成。

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 ls
server.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 机构签发证书吧。

正文完
 0