Vue + Asp.NET调试时出现的证书问题 (OpenSSL)

news2025/1/12 21:06:35

Vue + Asp.NET调试时出现的证书问题

    • 1. 证书过期问题
      • 步骤一:创建新的私钥
      • 步骤 2: 创建新的证书签名请求(CSR)
      • 步骤 3: 使用 CSR 和 CA 私钥签署新证书
      • 步骤 4: 替换或使用新证书
    • 2. 证书不受信任问题
      • 步骤:
    • 3. 安全证书不指定使用者可选名称
      • 步骤一: 删除已生成的证书
      • 步骤二: 创建配置文件
      • 步骤 3: 生成自签名证书
  • 完结

今天调试之前的项目突然之间提示证书过期,每次刷新界面都要手动点一下,非常难受.
因为当时没有截图,这里网上找一张图片,我的是localhost,每次刷新都需要点击继续访问,在这里记录一下解决过程.

在这里插入图片描述

1. 证书过期问题

根据Vue的配置文件Vite.config.js找到证书的地址C:\Users\你的用户名\AppData\Roaming\ASP.NET\https
在这里插入图片描述
删除掉pem的文件,然后使用OpenSSL生成一个新的证书,关于OpenSSL的使用可以看这篇文章(OpenSSL新手教程)
过程如下:

步骤一:创建新的私钥

在这里我们已经有私钥了,就不需要重新生成私钥了,但是如果想要更换私钥可以使用以下命令

私钥的名称应该与配置文件中变量certigicateName的值一致,我这里以new_private为例,实际使用请注意更改名称,这个试用以下所有生成语句

openssl genrsa -out new_private.key 2048

这里的 2048 是密钥长度,推荐至少使用这个长度以保证安全性。

步骤 2: 创建新的证书签名请求(CSR)

使用新创建的私钥或者继续使用旧私钥(如果私钥不变),创建一个新的证书签名请求(CSR):

openssl req -new -key new_private.key -out new_certificate_request.CSR

在创建的过程中,你将被提示输入一些信息,如国家、省份、城市、组织名等。

步骤 3: 使用 CSR 和 CA 私钥签署新证书

如果你正在更新的是一个自签名证书,你实际上就是自己的证书颁发机构(CA)。因此,你将使用自己的 CA 私钥来签署新的证书。假设你的 CA 私钥是 ca_key.pem,CA 的证书(公钥部分)是 ca_cert.pem,可以执行以下命令:

openssl x509 -req -in new_certificate_request.csr -CA ca_cert.pem -CAkey ca_key.pem -CAcreateserial -out new_certificate.pem -days 365

这里的 -days 365 指定了新证书的有效期为一年。你可以根据需要调整这个数字。

步骤 4: 替换或使用新证书

最后,将新生成的 new_certificate.pem 替换原来的 shortcutlinks.client.pem,或者如果你只是想测试新证书,可以先在应用程序中使用新证书而不立即替换。

2. 证书不受信任问题

根据以上方法更新了证书,但是又出现了新的问题,操作系统不信任其安全证书
图片来源于网络
因为上面生成的是自签名证书,浏览器默认是无法信任的,思路很简单,既然不信任,那就让它信任就好了.

步骤:

Win + R -> 输入certmgr.msc,按回车 -> 右击受信任的根证书颁发机构,选择所有任务->导入
按照要求导入上面生成的证书即可.
但是不要急,可能还会有新的问题

3. 安全证书不指定使用者可选名称

此服务器无法证明它是 localhost;它的安全证书不指定使用者可选名称
看到这里恭喜你,以上步骤可能需要重新来一次了.

步骤一: 删除已生成的证书

步骤二: 创建配置文件

创建文件Con.cnf,内容如下:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
C = US
ST = California
L = San Francisco
O = YourOrganization
OU = YourDepartment
CN = localhost

[v3_req]
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = localhost
DNS.2 = www.baidu.com
# 根据需要添加更多DNS或IP条目

步骤 3: 生成自签名证书

使用 openssl 命令行工具,结合刚创建的配置文件和现有的私钥文件来生成自签名证书。请注意,下面的命令会生成一个默认名为 cert.pem 的证书文件,之后我们需要手动重命名它。

openssl req -x509 -new -nodes -key shortcutlinks.client.key -sha256 -days 365 -out cert.pem -config Con.cnf

按照提示输入指定的内容后生成新的证书.

完结

现在您应该有了一个自签名证书文件,以及对应的私钥文件,可以用于需要SSL/TLS加密的客户端认证或其他相应用途。请记住,自签名证书在生产环境或对外公开的服务中可能会导致安全警告,因此仅推荐在内部测试或开发环境中使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1817367.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java实现文件的压缩及解压

一、起因 开发中需要实现文件的压缩及解压功能,以满足某些特定场景的下的需要,在此说下具体实现。 二、实现 1.定义一个工具类ZipUtils,实现文件的压缩及解压,代码如下: import java.io.*; import java.nio.charset.Charset; impo…

网络安全等级保护基本要求 第1部分:安全通用要求

基本要求 第三级 安全物理环境 物理位置选择 a) 机房场地应选择在具有防震、防风和防雨等能力的建筑内; b) 机房场地应避免设在建筑物的顶层或地下室,否则应加强防水和防潮措施 物理访问控制 a) 机房出入口应配置电子门禁系统,控制、鉴…

Linux 基本指令3

date指令 date[选项][格式] %Y--年 %m--月 %d--日 %H--小时 %M--分 %S--秒 中间可用其他符号分割,不能使用空格。 -s 设置时间,会返回设置时间的信息并不是改变当前时间 设置全部时间年可用-或者:分割日期和时间用空格分隔&#xff…

自动驾驶场景下TCP协议参数优化调整案例分享

RTT 往返时间,从tcp协议栈决定发包,到收到回包的时间。 包含本地驱动,网卡硬件,网线,交换机,收包方处理的耗时。需注意如果开了delayed ack,协议栈未做特殊处理(默认没做&#xff…

攻防演练之-成功的钓鱼邮件溯源

书接上文,《网络安全攻防演练风云》专栏之攻防演练之-网络安全产品大巡礼二,这里。 演练第一天并没有太大的波澜,白天的时间过得很快。夜色降临,攻防演练中心内的灯光依旧明亮。对于网络安全团队来说,夜晚和白天并没有…

基于STM32和人工智能的智能家居监控系统

目录 引言环境准备智能家居监控系统基础代码实现:实现智能家居监控系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景:智能家居环境监控与管理问题解决方案与优化收尾与总结 1. 引言 随着智能家居技术的发展&…

如何从微软官方下载Edge浏览器的完整离线安装包

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 正文内容 📒🚀 官方直链下载🚬 手动选择下载🎈 获取方式 🎈⚓️ 相关链接 ⚓️📖 介绍 📖 在网上搜索Microsoft Edge浏览器的离线安装包时,很多用户都会发现大部分都是在线安装包,无法满足他们在无网络环境下进…

【日常记录】【vue】vite-plugin-inspect 插件的使用

文章目录 1、vite-plugin-inspect2、安装3、使用4、链接 1、vite-plugin-inspect vite-plugin-inspect 可以让开发者在浏览器端就可以看到vue文件编译后的代码、vue文件的相互依赖关系 2、安装 npm i -D vite-plugin-inspect// vite.config.ts import Inspect from vite-plugi…

基于STM32的简易智能家居设计(嘉立创支持)

一、项目功能概述 1、OLED显示温湿度、空气质量,并可以设置报警阈值 2、设置4个继电器开关,分别控制灯、空调、开关、风扇 3、设计一个离线语音识别系统,可以语音控制打开指定开关、并且可以显示识别命令词到OLED屏上 4、OLED实时显示&#…

Nginx06-rewrite模块详解与实验

目录 写在前面Nginx06nginx rewriterewrite 模块return案例01 访问/admin/ 返回403案例02 域名间跳转 if案例03 只允许GET、POST请求,其他禁止访问 set案例04 设置是否处于维护状态,是则返回503,否则正常访问 rewrite案例05 域名跳转案例06 r…

htb_Blurry

端口扫描 8 按照教程注册安装clear ml 加载configuration的时候会报错 将json里的API,File Store的host都添加到/etc/hosts中 即可成功初始化 查找clear ml漏洞 发现一个cve-2024-24590 下面是一个利用脚本,但不能直接用 ClearML-vulnerability-e…

5G消息 x 融媒 | 媒体融合新入口

5G消息 x 融媒 | 媒体融合新入口 5G 消息是 5G 时代三大运营商联合手机厂商推出的平台型应用,5G 消息以短信为入口,以富媒体消息为媒介,具有权威真实、全面覆盖、精准投放、内容汇聚、开放共享等特点。这些特点符合当下融媒体发展的需求&…

ubuntu下使用cmake编译opencv4.8.0+ffmpeg4.2.2+cuda11.1

1.源码下载 (1)下载ffmpeg4.2.2、opencv4.8.0源码,这里提供一个百度网盘地址: 链接:https://pan.baidu.com/s/1pBksr0_RtKL0cM6Gsf2MGA?pwdcyai 提取码:cyai (2)解压所有文件 例…

c++实现二叉搜索树(上)

宝贝们,好久不见,甚是想念🤗小吉断更了差多有10多天,在断更的日子里,小吉也有在好好学习数据结构与算法,但是学的并不多而且学的并不是很认真。主要是中途笔记本屏出现问题了(这件事有点让小吉我…

迅狐短视频矩阵管理系统核心功能

一、多平台管理:连接多个主流自媒体平台,满足多平台、多账号、多角色的协调需求 在现如今的多元化媒体环境中,一个优秀的内容创作者需要同时管理多个自媒体平台,并以不同的身份角色展现自己。迅狐短视频矩阵管理系统强大的多平台…

RPC(远程过程调用):技术原理、应用场景与发展趋势

摘要: RPC(Remote Procedure Call)是一种通信协议,用于实现跨网络的进程间通信。它提供了一种简单高效的方式,使得分布式系统中的不同组件能够像调用本地函数一样调用远程函数。本篇博客将介绍RPC的基本概念&#xff0…

kafka 快速上手

下载 Apache Kafka 演示window 安装 编写启动脚本,脚本的路径根据自己实际的来 启动说明 先启动zookeeper后启动kafka,关闭是先关kafka,然后关闭zookeeper 巧记: 铲屎官(zookeeper)总是第一个到,最后一个走 启动zookeeper call bi…

虚拟声卡实现音频回环

虚拟声卡实现音频回环 一、电脑扬声器播放声音路由到麦克风1. Voicemeeters安装设置2. 音频设备选择 二、回声模拟 一、电脑扬声器播放声音路由到麦克风 1. Voicemeeters安装设置 2. 音频设备选择 以腾讯会议为例 二、回声模拟 选中物理输入设备“Stereo Input 1”和物理输出设…

浅谈内联钩取原理与实现

前言 导入地址表钩取的方法容易实现但是存在缺陷,若需要钩取的函数不存在导入地址表中,那么我们就无法进行钩取,出现以下几种情况时,导入函数是不会存储在导入地址表中的。 延迟加载:当导入函数还没调用时&#xff0…

Rust 实战丨通过实现 json! 掌握声明宏

在 Rust 编程语言中,宏是一种强大的工具,可以用于在编译时生成代码。json! 是一个在 Rust 中广泛使用的宏,它允许我们在 Rust 代码中方便地创建 JSON 数据。 声明宏(declarative macros)是 Rust 中的一种宏&#xff0…