当前位置: 首页 > news >正文

基于openssl 自行签发https 协议证书 ,同时支持nginx配置

1准备工作

准备一台有openssl环境的主机即可,openssl版本暂时无要求。本次环境采用centeros7.6自带openssl。另外,准备一个nginx。

2证书签发

目录

1准备工作

2证书签发

2.1生成根秘钥

2.2生成根证书

2.2.1根证书格式转换

2.3生成私钥key

2.4生成请求文件

2.5根据root根证书签发服务器证书

2.6nginx配置


2.1生成根秘钥

使用以下命令创建根密钥masee-key.pem,并使用des3进行加密。密码为:Zict7780#@$sthjj

# 根秘钥生成
openssl genrsa -des3 -out  masee-key.pem 4096

2.2生成根证书

使用刚创建好的根密钥 masee-key.pem 生成根证书,并输入相关信息。

# 根据秘钥生成根证书 
openssl req -new -x509 -days 3650 -key masee-key.pem -out masee-ca.pem# 补充完善根证书信息
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:AnHui
Locality Name (eg, city) [Default City]:MaAnShan
Organization Name (eg, company) [Default Company Ltd]:MASEE
Organizational Unit Name (eg, section) []:masee
Common Name (eg, your name or your server's hostname) []:masee.com      
Email Address []:masee@mas.com# 查看已生成根证书
openssl x509 -text -in masee-ca.pem -noout

客户端请求端需要将该证书安装到本机

2.2.1根证书格式转换

将masee-ca.pem格式证书转换成masee-ca.cer

# 根证书格式转换,将pem转换成cer
openssl x509 -inform pem -in masee-ca.pem -outform der -out masee-ca.cer

2.3生成私钥key

生成应用程序私钥key,此处可以选择加入密码,也可以选择加入密码,若加入密码,则每次启动服务器都需要使用密码。加密码参考2.1生成根秘钥章节,参数-des3。

# 生成应用服务私钥key
openssl genrsa -out masee-server-key.key 2048

2.4生成请求文件

准备openssl.cnf文件,方便执行以下命令时无须追一输入参数。

encrypt_key = nodistinguished_name = CA_DNreq_extensions = v3_req[CA_DN]countryName = Country Name (2 letter code)contryName_default = "CN"stateOrProvinceName = State or Province Name (full name)stateOrProvinceName_default = "AnHui"localityName = Locality Name (eg, city)localityName_default = "MaAnShan"organizationName = organizationName(eg,company)organizationName_default = "MASEE"organizationalUnitName  = organizationalUnitNameorganizationalUnitName_default  = "masee"commonName = Common Name(e.g. server FQDN or your name)commonName_default = "www.masee.com"[v3_req]basicConstraints = CA:FALSEkeyUsage = nonRepudiation, digitalSignature, keyEnciphermentsubjectAltName = @alt_names[alt_names]IP.1 = 127.0.0.1

根据masee-server-key.key秘钥文件生成请求文件。

# 根据2.3生成的秘钥生成请求文件
openssl req -new -out masee-server.csr -key masee-server-key.key -keyform PEM -extensions v3_req -config openssl.cnf

2.5根据root根证书签发服务器证书

根据2.1、2.2、2.4章节文件,签发服务器证书。

# 根据2.3生成的秘钥生成请求文件
openssl x509 -req -in masee-server.csr -out masee-server-cert.cer -CA masee-ca.pem -CAkey masee-key.pem -CAcreateserial -days 3650 -extensions v3_req -extfile openssl.cnf

2.6nginx配置

server {listen       443 ssl;server_name  localhost 127.0.0.1;ssl_certificate      masee-server-cert-127.cer;ssl_certificate_key  masee-server-key-127.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;location / {root   html;index  index.html index.htm;}}

同时将2.2.1根证书格式转换章节中的证书安装到系统受信任的根证书颁发机构中。步骤如下:

第一步:windows电脑运行masee-ca.cer文件,点击“安装证书”。

第二步:选择本地计算机,运行下一页。

第三步:选择“将所有的根证书都放入下列存储”,选择“受信任的根证书颁发机构”。点击下一页执行完成。

完成,效果如下:

http://www.lryc.cn/news/44166.html

相关文章:

  • Window Terminal 安装 Oh My Posh 美化
  • 单片机 | 51单片机实践
  • 根据时间戳获取总用时(天时分秒)
  • 【独家】华为OD机试 - 符合条件的子串长度 or 连续字串 ABV(C 语言解题)
  • 达梦数据库 linux安装
  • 数字孪生颠覆传统铝材挤压生产,全新生产方式即将到来!
  • 会声会影2023新版本功能详情讲解
  • nodejs+vue文旅门户信息网站 elementui旅游项目推荐系统 景点门票预订网站vscode
  • 学习HM微博项目第4天
  • 一次完整的OCR实践记录
  • Java中常见的密码学知识
  • Leetcode.2171 拿出最少数目的魔法豆
  • day1 计算机组成与结构考点汇总
  • Java虚拟机的类加载机制
  • 分治法实现合并排序(归并排序),理解分治算法思想,实现分治算法的完美例子合并排序(含码源与解析)
  • Typescript 类 (class)
  • KDZD程控超低频高压发生器
  • 【华为OD机试 2023最新 】 过滤组合字符串(C++)
  • Java笔记034-坦克大战【2】
  • 【算法】【数组与矩阵模块】桶排序思想解决无序数组排序后相邻数间的最大差值
  • C语言—函数
  • Autosar模式管理实战系列03-基于Davinci工具的WDGM配置
  • AutoML-sklearn and torch
  • 《扬帆优配》算力概念股大爆发,主力资金大扫货
  • 机械臂+底盘三维模型从solidworks到moveit配置功能包
  • 高并发系统设计:缓存、降级、限流、(熔断)
  • 《辉煌优配》放量大涨,A股成交额重回万亿!PCB板块继续领跑
  • Vue封装的过度与动画
  • 流量监控-ntopng
  • C++ 21 set容器