SSL证书的颁发格式和制作过
一、SSL证书的制作过程
https://www.jianshu.com/p/0dcea929690b
二、第三方机构颁发的证书有三个:
(1) CA证书,表示证书的类型以及颁发者
(2) 域名证书(服务器证书),表示证书颁发给哪个域名,以及证书到期时间
(3) 证书密钥
三、自签证书制作
(1) 创建证书目录,并赋予权限
mkdir -p /data/cert && chmod -R 777 /data/cert && cd /data/cert
(2) 生成server.key (这是证书秘钥)
# openssl genrsa -des3 -out server.key 2048
Enter pass phrase for harbor.key: # 输入密码,我这里是wenqiang123
Verifying - Enter pass phrase for harbor.key: # 确认输入密码,我这里是wenqiang123
-----------------------------------------------------------------------------------
# 会让你输入两次密码,要记住这个密码后期可能会频繁输入
# 如果不想输入密码可以使用openssl rsa -in server.key -out server.key来生成server.key
(3) 生成server.csr(这是创建服务器证书的申请文件)
# openssl req -new -key server.key -out server.csr
------------------------------------------------------------------------------------
Enter pass phrase for server.key: # 输入server.key的密码,我这里是wenqiang123
Country Name (2 letter code) [XX]: CN # 这里输入国家名称 CN
State or Province Name (full name) []:beijing # 这里输入省市名称
Locality Name (eg, city) [Default City]:beijing # 这里输入城市名称
Organization Name (eg, company) [Default Company Ltd]:wenqiang # 这里输入你的公司名称
Organizational Unit Name (eg, section) []:IT # 这里输入你的部门
Common Name (eg, your name or your server's hostname) []:hub.wenqiang.com # 这里输入你的域名
Email Address []:wenqiangit@163.com # 输入邮箱
A challenge password []:wenqiang123 # 询问密码,我这里是wenqiang123
An optional company name []:wenqiang # 可选公司名称
(4) 去掉seerver.key的证书密码,防止harbor一直询问导致nginx起不来
# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: # 输入server.key的密码
(5) 生成ca.crt证书(这是证书颁发者)
# openssl req -new -x509 -key server.key -out ca.crt -days 3650
Enter pass phrase for server.key: # 输入server.key的密码,我这里是wenqiang123
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:wenqiang
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:hub.wenqiang.com
Email Address []:wenqiangit@163.com
(6) 生成server.crt(这是服务器证书,记录着域名信息和10年有效期)
# openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
Enter pass phrase for server.key: # 输入server.key秘钥
(6) 会生成5个文件
# ls /data/cert/
ca.crt ca.srl server.crt server.csr server.key