自签SSL证书

devops 必备技能

  • 查看当前系统使用的 OpenSSL 版本
    1
    openssl version
  • 获取完整的版本信息
    1
    openssl version -a

    X.509 是密码学里公钥证书的格式标准。一般包含三类文件,key,csr,crt。

  • key是私用密钥,openssl格式,通常是rsa算法。
  • csr是证书请求文件,用于申请证书。在制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。
  • crt是CA认证后的证书文件(windows下面的csr,其实是crt),签署人用自己的key给你签署的凭证。

证书创建过程

1
2
3
4
5
6
7
8
9
10
11
12
mkdir /usr/local/nginx/conf/cert
cd /usr/local/nginx/conf/cert

#创建RSA私有密钥
openssl genrsa -out domainName.key 2048
# 创建CSR(为申请数字服务器证书而发送至证书颁发机构 (CA) 的文件)
openssl req -out domainName.csr -key domainName.key -new -sha256
mv domainName.key domainName.origin.key
# 删除RSA私钥密码
openssl rsa -in domainName.origin.key -out domainName.key
# 请使用 openssl x509 对证书进行签名(使用私钥和签名请求创建的公有证书)
openssl x509 -req -sha256 -days 3650 -in domainName.csr -signkey domainName.key -out domainName.crt

nginx相关配置

1
2
3
4
5
6
7
8
server
{
listen 443 ssl;
ssl_certificate /usr/local/nginx/conf/cert/domainName.crt;
ssl_certificate_key /usr/local/nginx/conf/cert/domainName.key;
}


相关资料