目录

前言

一、下载 OpenSSL

二、OpenSSL 工具来生成自签名证书

1、打开命令行窗口,输入以下命令以生成私钥文件(例如:mykey.pem):

2、接下来,使用以下命令生成自签名证书请求文件(例如:mycert.csr):

3、最后,使用以下命令生成自签名证书文件(例如:mycert.crt):

三、本地 Nginx 部署证书服务

总结



前言

学习使用 OpenSSL。

由于电脑较卡只能在win上进行演示。


一、下载 OpenSSL

官网下载

下载编译完成的

安装步骤1:

步骤2:

步骤3

步骤四

步骤五

完成安装

注意:需要配置系统环境变量

测试是否可用:

openssl version
   
   

 

二、OpenSSL 工具来生成自签名证书

1、打开命令行窗口,输入以下命令以生成私钥文件(例如:mykey.pem):
   
   
     
     
      
      
     
     
     
     
      
      
       
       openssl genrsa -
       
       out mykey.pem 
       
       2048
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       # 2048 是生成秘钥大小  mykey.pem 是证书名称及其后缀
      
      
     
     
   
   

 

2、接下来,使用以下命令生成自签名证书请求文件(例如:mycert.csr):
openssl req -new -key mykey.pem -out mycert.csr

   
   

可用随便填写。

在生成证书请求文件时,系统会提示您输入一些信息,如国家、组织名称等。根据需要填写这些信息。

3、最后,使用以下命令生成自签名证书文件(例如:mycert.crt):

方法一、

   
   
     
     
      
      
     
     
     
     
      
      
       
       openssl x
       
       509 -req -days 
       
       365 -
       
       in mycert.csr -signkey mykey.pem -out mycert.
       
       crt
      
      
     
     
     
     
      
      
       
       # 
       
       365 是自签名证书 的天数
      
      
     
     
   
   

完成:cmd在哪里运行的,生成的证书会在什么目录下;

方法二、完整代码

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mydomain.key -out mydomain.crt

   
   

三、本地 Nginx 部署证书服务

   
   
     
     
      
      
     
     
     
     
      
      
       
       ssl_certificate ssl
       
       /mycert.pem;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       ssl_certificate_
       
       key ssl
       
       /mycert.
       
       key;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       ssl_password_
       
       file ssl
       
       /mycert.pass;
      
      
     
     
     
     
      
      
     
     
     
     
      
       
      
      
     
     
     
     
      
      
     
     
     
     
      
       
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       ssl_certificate E:
       
       /nginx-
       
       1.25.2
       
       /nginx-
       
       1.25.2
       
       /zhengshu
       
       /mydomain.
       
       crt;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       ssl_certificate_
       
       key E:
       
       /nginx-
       
       1.25.2
       
       /nginx-
       
       1.25.2
       
       /zhengshu
       
       /mydomain.
       
       key;
      
      
     
     
   
   


总结

   
   
     
     
      
      
     
     
     
     
      
      
       
       http {
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
           include       mime.types;
      
      
     
     
     
     
      
      
     
     
     
     
      
          
       
       default_
       
       type  application
       
       /octet-stream;
      
      
     
     
     
     
      
      
     
     
     
     
      
       
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
           sendfile        
       
       on;
      
      
     
     
     
     
      
      
     
     
     
     
      
       
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
           keepalive_timeout  
       
       65;
      
      
     
     
     
     
      
      
     
     
     
     
      
       
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       	server {
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       		listen 
       
       3001;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       		server_name 
       
       127.0.0.1;
      
      
     
     
     
     
      
      
     
     
     
     
      
      		
       
       return 
       
       301 https:
       
       /
       
       /$host$request_uri;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       	}
      
      
     
     
     
     
      
      
     
     
     
     
      
       
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       	server {
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       		listen 
       
       443 ssl;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       		server_name 
       
       127.0.0.1;
      
      
     
     
     
     
      
      
     
     
     
     
      
      		
       
       location 
       
       / {
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       			# 代理 
       
       3000 服务端口 
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       			proxy_pass http:
       
       /
       
       /
       
       127.0.0.1:
       
       3000;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       		}
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       		ssl_certificate E:
       
       /nginx-
       
       1.25.2
       
       /nginx-
       
       1.25.2
       
       /zhengshu
       
       /mydomain.
       
       crt;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       		ssl_certificate_
       
       key E:
       
       /nginx-
       
       1.25.2
       
       /nginx-
       
       1.25.2
       
       /zhengshu
       
       /mydomain.
       
       key;
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       	}
      
      
     
     
     
     
      
      
     
     
     
     
      
      
       
       }
      
      
     
     
   
   
    
    
   
   
   
   

 

openssl
传输层安全性/安全套接层及其加密库
推荐内容
阅读全文
AI总结
GitHub 加速计划 / ope / openssl
27
1
下载
传输层安全性/安全套接层及其加密库
最近提交(Master分支:6 个月前 )
1c1c9dc1 Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/27492) 21 小时前
9636f9a4 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/27498) 1 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐