HTTPS 自签证书

关于 SSL 的 CA 签名和用户加密过程,有篇简要介绍

要自签证书自然需要自建的 CA 证书和你服务器的证书。

首先创建 CA 证书

  1. 创建 CA 的 rsa 私钥,私钥 4096 位:
    openssl genrsa -out ca.key 4096
    

    如果要加密私钥,可以加上 -des3 参数,给私钥加上 pass phrase

  2. 创建 x509 证书

    openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

服务器证书

  1. 创建私钥
    openssl genrsa -out server.key 4096
  2. 创建签名请求

    openssl req -new -key server.key -out server.csr
  3. 用 CA 证书给 csr 签名,然后生成服务器证书(既公钥)

    openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

修改 Apache,把下面的配置放到虚拟机配置段里

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/dongsheng.moodle.local/server.crt
SSLCertificateKeyFile /etc/httpd/ssl/dongsheng.moodle.local/server.key

为了让浏览器更好的支持自建证书最好把该证书加到系统里,参见:Configuring SSL certificates on Linux