制作HTTPS私有证书 —HTTPS证书
1 参考
参考1:linux下使用openssl生成https的crt和key证书
直接在linux下执行即可。
2 openssl制作证书
- 生成私有证书密钥
openssl genrsa -out server.key 2048
- 生成证书请求文件
openssl req -new -x509 -key server.key -out ca.crt -days 3650 \
-subj '/C=CN/ST=ZheJiang/L=HangZhou/O=HaHa/OU=HaHa/CN=192.168.3.220/emailAddress=xxx@qq.com'
- -x509:输出自签名证书而不是证书请求文件。
- -subj arg:指定证书DN信息。
示例:
-subj '/C=CN/ST=ZheJiang/L=HangZhou/O=HaHa/OU=HaHa/CN=192.168.3.220/emailAddress=电子邮箱'
解释:
这个subject参数指定了证书的DN(Distinguished Name)信息。DN包含证书主体的身份信息,格式为一系列键值对,使用/分隔。每个键值对使用=号连接。这个subject参数包含的键值对有:- /C=CN:国家名称是CN(China)
- /ST=ZheJiang:省份是ZheJiang
- /L=HangZhou:城市是HangZhou
- /O=HaHa:组织名称是HaHa
- /OU=HaHa:组织单元名称也是HaHa
- /CN=192.168.3.220:公共名称(Common Name)是192.168.3.220
- /emailAddress=hh@qq.com:电子邮箱是hh@qq.com证书的DN信息遵循X.500标准。常用的DN字段及其含义有:- C:国家(Country)
- ST:省/市/自治区(State/Province)
- L:地点(Locality)
- O:组织(Organization)
- OU:组织单元(Organization Unit)
- CN:公共名称(Common Name),主机名或网站
- emailAddress:电子邮箱地址证书的DN字段内容并不影响证书的功能,但具有重要的识别作用。真实的DN信息可以帮助用户判断证书的可信度。
- 生成证书签名请求文件(CSR)
openssl req -new -key server.key -out server.csr \
-subj '/C=CN/ST=ZheJiang/L=HangZhou/O=HaHa/OU=HaHa/CN=192.168.3.220/emailAddress=xxx@qq.com'
- 使用自签名CA证书签发SSL证书
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
根据以上操作最后生成的文件:
3 证书的使用
使用时只需要配置server.crt
和server.key
即可。