win10创建自签名证书
下载安装配置openssl
下载地址:
https://slproweb.com/download/Win64OpenSSL-3_3_1.exe
https://slproweb.com/products/Win32OpenSSL.html
完成后安装,一路next,到达选位置的之后选择安装的位置,我这里选择的是D盘,且bin文件夹也安装到D盘,
安装完成后验证是否安装完毕
提示显示下面的内容就是安装完毕
D:\OpenSSL-Win64\bin>openssl version -a
OpenSSL 3.3.1 4 Jun 2024 (Library: OpenSSL 3.3.1 4 Jun 2024)
built on: Tue Jun 4 17:39:01 2024 UTC
platform: VC-WIN64A
options: bn(64,64)
compiler: cl /Z7 /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 -DL_ENDIAN -DOPENSSL_PIC -D"OPENSSL_BUILDING_OPENSSL" -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"NDEBUG" -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32_WINNT=0x0502
OPENSSLDIR: "C:\Program Files\Common Files\SSL"
ENGINESDIR: "C:\Program Files\OpenSSL\lib\engines-3"
MODULESDIR: "C:\Program Files\OpenSSL\lib\ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_ia32cap=0x7ffaf3bfffebffff:0x40000000029c67af
如果想直接启动,openssl而不是切换到openssl的bin文件夹内再启动命令行,可以将openssl添加到环境变量中
- 按下window键。输入环境
2. 按下enter
添加新的用户变量保存并退出。
按下win+r输入cmd,试试是否启用环境变量
创建自签名证书
- 创建证书文件夹
创建文件夹用于存放证书,我的openssl在D盘所以我将文件夹创建到D盘
mkdir D:\OpenSSL-Win64\bin\myNameZhengShu
创建文件夹
- 生成私钥
复制即可,会提示输入密码,密码要记住哦,输入的密码是看不到的,这里密码使用123456
openssl genpkey -algorithm RSA -out D:\OpenSSL-Win64\bin\myNameZhengShu\key.pem -aes256
再次输入密码123456
生成私钥完毕
- 生成证书签名请求(CSR)
使用这个命令后面需要按照需求填写一些参数,
openssl req -new -key D:\OpenSSL-Win64\bin\myNameZhengShu\key.pem -out D:\OpenSSL-Win64\bin\myNameZhengShu\csr.pem
参数名称 | 意思 |
---|---|
Country Name | (国家名称) |
State or Province Name (full name) [Some-State] | 省份/州名 |
Locality Name (eg, city) | (市名) |
Organization Name (eg, company) [Internet Widgits Pty Ltd] | 公司或者组织名称 |
Organizational Unit Name (eg, section) | 部门名称,可选 |
Common Name (e.g. server FQDN or YOUR name) | 服务器的域名,如果没有就填写自己的名字 |
Email Address [] | 邮箱地址,可选 |
An optional company name []: | 可选字段,一个额外的公司名称信息 |
如果不想输入就按下enter就会跳转到下一项,
最后会问你:
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:
A challenge password 是一个可选字段,通常用于提供一个额外的安全层。这个密码可以用于在某些情况下撤销证书。如果你不想设置挑战密码,可以直接按回车跳过。
如果你决定设置挑战密码,请确保选择一个强密码,并妥善保管,以防止未经授权的证书撤销。
或者在命令行中添加参数,而不是是后续添加参数:
openssl req -new -key D:\OpenSSL-Win64\bin\myNameZhengShu\key.pem -out D:\OpenSSL-Win64\bin\myNameZhengShu\csr.pem -subj "/C=CN/ST=Beijing/L=Beijing/O=MyCompany/OU=IT Department/CN=example.com"
参数解释 | 参数内容 |
---|---|
国家C | CN |
省份ST | Beijing |
城市L | Beijing |
组织O | MyCompany |
组织单位 OU | IT Department |
通用名称CN | example.com |
运行后再次输入上面的密码123456
生成了证书签名请求
- 生成自签名证书
使用以下命令生成自签名证书文件,并输入密码123456,将其保存在指定的路径:
openssl x509 -req -days 365 -in D:\OpenSSL-Win64\bin\myNameZhengShu\csr.pem -signkey D:\OpenSSL-Win64\bin\myNameZhengShu\key.pem -out D:\OpenSSL-Win64\bin\myNameZhengShu\cert.pem
现在已经生成了证书签名请求文件(csr.pem)和私钥文件(key.pem)。
文件传输
cert.pem
这是你的证书文件。如果你使用的是自签名证书,这个文件就是你生成的自签名证书。如果你使用的是由受信任的证书颁发机构(CA)签名的证书,这个文件就是CA返回给你的签名证书。这个文件是必需的,因为它是服务器用来证明其身份的文件。
csr.pem
这是你的证书签名请求文件。这个文件通常不需要放在服务器上,因为它主要用于向CA申请签名证书。一旦你获得了签名证书,这个文件就不再需要了。
key.pem
这是你的私钥文件。这个文件是必需的,因为它是服务器用来解密客户端发送的加密数据的密钥。私钥文件是非常敏感的信息,必须妥善保管,确保只有授权的用户可以访问这个文件。
将cert.pem 与key.pem
放到服务器上并配置nginx