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

win10 安装openssl并使用openssl创建自签名证书

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添加到环境变量中

  1. 按下window键。输入环境
    在这里插入图片描述2. 按下enter
    在这里插入图片描述添加新的用户变量保存并退出。
    在这里插入图片描述

在这里插入图片描述

按下win+r输入cmd,试试是否启用环境变量
在这里插入图片描述

创建自签名证书

  1. 创建证书文件夹
    创建文件夹用于存放证书,我的openssl在D盘所以我将文件夹创建到D盘
mkdir D:\OpenSSL-Win64\bin\myNameZhengShu

创建文件夹
在这里插入图片描述

  1. 生成私钥
    复制即可,会提示输入密码,密码要记住哦,输入的密码是看不到的,这里密码使用123456
openssl genpkey -algorithm RSA -out D:\OpenSSL-Win64\bin\myNameZhengShu\key.pem -aes256

在这里插入图片描述
再次输入密码123456
在这里插入图片描述
生成私钥完毕
在这里插入图片描述

  1. 生成证书签名请求(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"
参数解释参数内容
国家CCN
省份STBeijing
城市LBeijing
组织OMyCompany
组织单位 OUIT Department
通用名称CNexample.com

运行后再次输入上面的密码123456

在这里插入图片描述

生成了证书签名请求
在这里插入图片描述

  1. 生成自签名证书
    使用以下命令生成自签名证书文件,并输入密码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

相关文章:

  • python flask配置邮箱发送功能,使用flask_mail模块
  • shell的正则表达式
  • java实现持续集成
  • 使用 C++11 Lambda 表达式在 Qt 中连接信号与槽
  • MySQL中的系统变量权限
  • 字节跳动:从梦想之芽到参天大树
  • 二叉树经典OJ练习
  • Webfunny【用户细查】七项功能升级更新:大幅提升用户排查效率!
  • CLIP-ReID代码解读七——model.py上
  • gitee添加别人的仓库后,在该仓库里添加文件夹/文件
  • 协程执行顺序引发的问题
  • 如何配置taro
  • C++STL 初阶(5)vector的简易实现(上)
  • [MRCTF2020]PixelShooter
  • Jenkins+K8s实现持续集成(一)
  • ----------
  • [译] React v16.8: 含有Hooks的版本
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • centos安装java运行环境jdk+tomcat
  • Date型的使用
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • HTML中设置input等文本框为不可操作
  • JavaWeb(学习笔记二)
  • KMP算法及优化
  • ubuntu 下nginx安装 并支持https协议
  • 区块链将重新定义世界
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #etcd#安装时出错
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • $NOIp2018$劝退记
  • (3)选择元素——(17)练习(Exercises)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (回溯) LeetCode 131. 分割回文串
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (十六)视图变换 正交投影 透视投影
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (万字长文)Spring的核心知识尽揽其中
  • (转)linux 命令大全
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET/C# 使用反射注册事件
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [ 网络通信基础 ]——网络的传输介质(双绞线,光纤,标准,线序)
  • [Angular] 笔记 6:ngStyle
  • [C#]winform部署PaddleOCRV3推理模型
  • [C++]spdlog学习