当前位置: 首页 > 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

相关文章:

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

win10创建自签名证书 下载安装配置openssl 下载地址: https://slproweb.com/download/Win64OpenSSL-3_3_1.exe https://slproweb.com/products/Win32OpenSSL.html 完成后安装,一路next,到达选位置的之后选择安装的位置,我这里选…...

【OpenCV 图像处理 Python版】图像处理的基本操作

文章目录 1.图像的 IO 操作1.1 图像读取 imread1.2 图像显示1.2.1 opencv 方式1.2.2 matplotlib 方式 1.3 图像保存 imwrite 2.绘制几何图形1. 绘制直线2. 绘制矩形3. 绘制圆形4. 绘制多边形5. 添加文字 3.获取并修改图像中的像素点3.1 获取像素值3.2 修改像素值3.3 获取和修改…...

HarmonyOS应用开发学习经验

一、HarmonyOS学习官网 开发者能力认证 HarmonyOS应用开发者基础认证6月之前的学习资源官网已经关闭过期,大家不要慌,官方更新了最新资源,但是,对于之前没有学习完的学员不友好,存在知识断片的现象,建议官…...

LLM大语言模型应用方案之RAG检索增强生成的实现步骤。

0.我理解的RAG 什么是RAG? RAG的全称是“检索增强生成模型”(Retrieval-Augmented Generation)。这是一种特别聪明的大语言模型。 RAG是怎么工作的呢? 1.检索:当你问RAG一个问题时,它会先去“图书…...

【python学习】学习python的小项目

学习Python时,通过完成一些小项目可以帮助你巩固知识并提升实践能力。以下是一些适合学习Python的小项目建议: 命令行计算器: 创建一个简单的命令行计算器,可以执行基本的算术运算(加、减、乘、除)。使用i…...

java-冒泡排序 1

## Java中的冒泡排序 ### 1. 冒泡排序的基本概念 冒泡排序(Bubble Sort)是一种简单且直观的排序算法。它通过重复地遍历待排序的列表,比较相邻的元素并交换它们的位置,使较大的元素逐步从列表的一端移动到另一端,就像…...

【STM32】USART串口通讯

1.USART简介 STM32芯片具有多个USART外设用于串口通讯,它是 Universal Synchronous Asynchronous Receiver and Transmitter的缩写, 即通用同步异步收发器可以灵活地与外部设备进行全双工数据交换。有别于USART, 它还有具有UART外设(Univers…...

Qt6中如何将QList转为QSet?

QSet是一个具有唯一值的哈希集合。比较少用。比较有用的是QSet里面的intersect查找两个集合中不同元素&#xff0c;并合并。 转换过程比较简单&#xff0c;第一种是直接用迭代器。 QSet<int> set(list.begin(), list.end()); 第二种就是逐一遍历赋值&#xff1a; QLi…...

aspectj:AOP编程备忘录-切面定义的注意事项

AOP编程时定义切面时需要注意的事 Around 以Around注解拦截构造方法(Constructor)时切面定义只能用call方式而不能是execution&#xff0c;否则 ProceedingJoinPoint.proceed()返回的是null&#xff0c;得不到构造的实例。 execution execution切入点要修改对象内部&#x…...

大数据面试题之Hive(1)

目录 说下为什么要使用Hive?Hive的优缺点?Hive的作用是什么? 说下Hive是什么?跟数据仓库区别? Hive架构 Hive内部表和外部表的区别? 为什么内部表的删除&#xff0c;就会将数据全部删除&#xff0c;而外部表只删除表结构?为什么用外部表更好? Hive建表语句?创建表…...

【Git】分布式版本控制工具

一、简介 二、目标 Git分布式版本控制工具 一、简介 Git是一种分布式版本控制系统&#xff0c;用于跟踪和管理源代码的变化。它由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;于2005年开发&#xff0c;并迅速成为最流行的版本控制工具之一。以下是关于Git的一些关键…...

排序之插入排序----直接插入排序和希尔排序(1)

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 排序之插入排序----直接插入排序和希尔排序(1) 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记&#xff0c;欢迎大家在评论区交流讨…...

快速创建条形热力图

Excel中的条件格式可以有效的凸显数据特征&#xff0c;如下图中B列所示。 现在需要使用图表展现热力条形图&#xff0c;如下图所示。由于颜色有多个过渡色&#xff0c;因此手工逐个设置数据条的颜色&#xff0c;基本上是不可能完成的任务&#xff0c;使用VBA代码可以快速创建这…...

go switch 与 interface

go switch 与 interface 前言 前言 github.com/google/cel-go/common/types/ref type Val interface {// ConvertToNative converts the Value to a native Go struct according to the// reflected type description, or error if the conversion is not feasible.ConvertTo…...

BaseMapper 接口介绍

基于 mybatis-mapper/provider 核心部分实现的基础的增删改查操作&#xff0c;提供了一个核心的 io.mybatis.mapper.BaseMapper 接口和一个 预定义 的 io.mybatis.mapper.Mapper 接口&#xff0c;BaseMapper 接口定义如下&#xff1a; /*** 基础 Mapper 方法&#xff0c;可以在…...

HAL-Cubemax定时器使用记录

title: HAL-Cubemax定时器使用记录 tags: STM32HalCubemax 文章目录 HAL-Cubemax定时器使用记录分享一种思路1.创建一个ms(毫秒)级延时中断2.创建计数的变量3.在需要延时的函数中对变量阈值进行判断4.验证实例--完整使用记录代码 问题往期内容基础库HAL cubemax VSCODE GCC …...

同时使用磁吸充电器和Lightning时,iPhone充电速度会变快吗?

在智能手机的世界里&#xff0c;续航能力一直是用户关注的焦点。苹果公司以其创新的MagSafe技术和传统的Lightning接口&#xff0c;为iPhone用户提供了多样化的充电解决方案。 然而&#xff0c;当这两种技术同时使用时&#xff0c;它们能否带来更快的充电速度&#xff1f;本文…...

零成本搭建个人图床服务器

前言 图床服务器是一种用于存储和管理图片的服务器&#xff0c;可以给我们提供将图片上传后能外部访问浏览的服务。这样我们在写文章时插入的说明图片&#xff0c;就可以集中放到图床里&#xff0c;既方便多平台文章发布&#xff0c;又能统一管理和备份。 当然下面通过在 Git…...

SpringBoot 搭建sftp服务 实现远程上传和下载文件

maven依赖&#xff1a; <dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version> </dependency>application.yml sftp:protocol: sftphost: port: 22username: rootpassword: sp…...

IDEA中使用leetcode 刷题

目录 1.IDEA下载leetcode插件 2.侧边点开插件 3.打开网页版登录找到cookie复制 4.回到IDEA登录 5.刷题 6.共勉 1.IDEA下载leetcode插件 2.侧边点开插件 3.打开网页版登录找到cookie复制 4.回到IDEA登录 5.刷题 6.共勉 算法题来了不畏惧&#xff0c; 挑战前行是成长的舞台…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

Copilot for Xcode (iOS的 AI辅助编程)

Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot&#xff0c;它能根据上下文补全代码&#xff0c;快速生成常用…...

C#最佳实践:为何优先使用as或is而非强制转换

C#最佳实践&#xff1a;为何优先使用as或is而非强制转换 在 C# 的编程世界里&#xff0c;类型转换是我们经常会遇到的操作。就像在现实生活中&#xff0c;我们可能需要把不同形状的物品重新整理归类一样&#xff0c;在代码里&#xff0c;我们也常常需要将一个数据类型转换为另…...

【threejs】每天一个小案例讲解:创建基本的3D场景

代码仓 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone&#xff0c;无需安装依赖&#xff0c;直接liver-server运行/直接打开chapter01中的html文件 运行效果图 知识要点 核心三要素 场景&#xff08;Scene&#xff09; 使用 THREE.Scene(…...