OpenSSL 生成自签名证书

目录

前言

一、下载 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 x509 -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 生成自签名证书 #### 准备工作 确保已安装并配置好 OpenSSL 工具。可以通过命令 `openssl version` 来验证是否成功安装。 #### 创建私钥文件 为了安全起见,先创建一个用于存储密钥的目录,并进入该目录: ```bash mkdir ~/ssl && cd ~/ssl ``` 接着可以利用下面这条指令来生成 RSA 私钥(默认长度为2048位),并将它保存到名为 `server-key.pem` 的文件里[^1]: ```bash openssl genrsa -des3 -out server-key.pem 2048 ``` 此过程会提示设置加密口令保护私钥的安全性;如果希望省去这一步,则可去掉 `-des3` 参数以不带密码的方式生成私钥。 #### 构建自签发 X.509 数字证书请求(CSR) 有了上述准备好的私钥之后,就可以着手构建 CSR 文件了。这里采用交互模式填写必要信息,最终产出的结果会被写入至 `server.csr` 中: ```bash openssl req -new -key server-key.pem -out server.csr ``` 在执行过程中需依次提供国家名、省份名称等细节资料给即将颁发出来的虚拟身份证明书所用。 #### 执行自签署操作得到公有证书 最后一步就是让刚才建立起来的那个实体自己给自己发放一张有效期一年的有效凭证——即所谓的“自签名证书”。具体做法如下所示: ```bash openssl x509 -req -days 365 -in server.csr -signkey server-key.pem -out server-cert.pem ``` 此时便完成了整个流程,在当前路径下应该能看到新产生的两个重要文档:一个是之前提到过的 `.csr` 请求表单副本;另一个则是至关重要的 `.pem` 结构化编码形式呈现出来的公开认证材料。 对于某些应用场景而言,可能还需要进一步转换成其他格式比如 PFX/PEM 等以便于部署应用环境之中[^2]。例如要将现有的 PEM 类型转存为 Windows 平台常用的 PKCS#12 归档包时可以用这样的语句实现: ```bash openssl pkcs12 -export -out server.pfx -inkey server-key.pem -in server-cert.pem ``` 以上便是完整的基于 OpenSSL 实现自定义 SSL/TLS 自签名证书制作全过程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值