证书生成
- 使用
openssl genrsa -des3 -out ssl.key 4096
生成一个des3加密,密钥长度为4096的key; -
mv ssl.key xxx.key
重命名key,为了后面不混淆各个文件; -
openssl rsa -in xxx.key -out ssl.key
将des3加密的key转换成rsa加密的key; -
openssl req -new -key ssl.key -out ssl.csr
根据key文件生成csr证书请求文件; -
openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
根据key与csr文件生成crt证书文件,有效期365天; -
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx
可选,若使用pfx应该有这一步。
软件配置
Apache:
示例如下:
<VirtualHost www.example.com:443>
SSLEngine on
SSLCertificateFile /crtfileindex.crt
SSLCertificateKeyFile /keyfileindex.key
ServerName www.example.com
DocumentRoot /webroot
</VirtualHost>
Nginx:
在对应vhost段添加:
listen 443;
listen [::]:443;
ssl on;
ssl_certificate /crtfileindex.crt;
ssl_certificate_key /keyfileindex.key;
注:本来想使用Letsencrypt的,可惜总不成功,改日再战。