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

‘openssl‘ 不是内部或外部命令,也不是可运行的程序或批处理文件

文章目录

  • 1. 问题:
  • 2. 解决方法:
    • 2.1 安装 OpenSSL
    • 2.2 在 Windows 上运行 OpenSSL 命令
    • 2.3 遇到权限问题

1. 问题:

  • Windows11终端执行如下命令生成自签名证书和密钥:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 36500 -nodes

参数说明:

-x509:生成自签名证书。
-newkey rsa:4096:使用 RSA 算法生成 4096 位的密钥。
-keyout key.pem:指定生成的私钥文件名。
-out cert.pem:指定生成的证书文件名。
-days 36500:证书有效期设置为 36500 天(100 年)。
-nodes:不使用密码加密私钥。
  • 报错:
openssl' 不是内部或外部命令,也不是可运行的程序或批处理文件。

2. 解决方法:

2.1 安装 OpenSSL

在 Windows 上安装 OpenSSL

  1. 下载 OpenSSL:前往 OpenSSL 的 Windows 版本页面,例如:https://slproweb.com/products/Win32OpenSSL.html
  2. 下载适合系统架构的版本(例如 Win64 OpenSSL v3.x.x)

在这里插入图片描述

  • 安装 OpenSSL:下载 exe 或 msi 程序都行,建议 exe

  • 在安装过程中,将 OpenSSL 的安装路径(如 D:\OpenSSL-Win64\bin)

  • 安装步骤中有一步,“Select Additional Tasks”,让选择OpenSSL的dll拷贝到什么地方,如下:

在这里插入图片描述

  • 建议,不要拷贝到系统目录下,如果其他软件使用的OpenSSL版本与你安装这个版本不同,可能导致该软件无法使用。所以让这些dll待在OpenSSL安装目录下即可。

  • 最后一步,是否捐款,如下:

在这里插入图片描述

  • 全部取消就行
  1. 添加 OpenSSL 到环境变量:
  • 右键点击 此电脑 > 属性 > 高级系统设置 > 环境变量。
  • 在“系统变量”中找到 Path,双击编辑。
  • 点击“新建”,将 OpenSSL 的安装路径(如 D:\OpenSSL-Win64\bin)添加到 Path 中。
  • 点击“确定”保存设置。
  1. 验证安装:
  • 打开命令提示符 (cmd),输入以下命令:
openssl version

在这里插入图片描述

2.2 在 Windows 上运行 OpenSSL 命令

  • 完成安装后,重新打开命令提示符,并运行以下命令生成证书和密钥:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 36500 -nodes
  • 执行时的提示:
  1. 系统会提示你输入一些信息,例如:

在这里插入图片描述

  • Common Name (CN): 这里非常重要,建议填写 localhost(或者匹配你的域名)。
  • 其他字段可按需填写。
  1. 运行成功后,当前目录下会生成 key.pem(私钥)和 cert.pem(证书)。

在这里插入图片描述

2.3 遇到权限问题

  • 如果提示“权限不足”:
    • 确保以管理员权限运行命令提示符。
    • 或者将生成的文件路径指定到可写目录,例如:
openssl req -x509 -newkey rsa:4096 -keyout C:\Temp\key.pem -out C:\Temp\cert.pem -days 36500 -nodes

http://www.kler.cn/a/514112.html

相关文章:

  • 大数据处理之数据去重、TopN统计与倒排索引的Hadoop实现
  • 他把智能科技引入现代农业领域
  • 数据恢复常见故障(四)关键信号的耦合电容撞件后导致SATA前端通信异常
  • 【Java数据结构】排序
  • Tcl教程
  • 学习第七十四行
  • openssl 正确生成v3带SAN的证书
  • 前端【6】JavaScript基本语法
  • Kubernetes 集群中安装和配置 Kubernetes Dashboard
  • 数据结构详解——堆与二叉树
  • GDB相比IDE有什么优点
  • VSCode最新离线插件拓展下载方式
  • 八股学习 框架篇(spring mybatis)
  • 浅谈Java之AJAX
  • #HarmonyOS篇:build-profile.json5里面配置productsoh-package.json5里面dependencies依赖引入
  • 【网络协议】【http】【https】TLS1.3
  • PIM原理与配置
  • Redis 集群模式入门
  • 66,【6】buuctf web [HarekazeCTF2019]Avatar Uploader 1
  • 一文大白话讲清楚webpack基本使用——9——预加载之prefetch和preload以及webpackChunkName的使用
  • 2025年01月21日Github流行趋势
  • 简识JVM栈帧中的局部变量表
  • XML外部实体注入--XML基础
  • git常用命令学习
  • elementUI Table组件实现表头吸顶效果
  • DuckDB:Golang操作DuckDB实战案例