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

OpenSSL 自签名

参考文档:unigui开发人员工作手册2021

参考文章:保姆级OpenSSL下载及安装教程-CSDN博客

下载

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

进入后向下拉找到下载位置,建议下载二进制版本的精简版,注意几个版本的区别

默认版本:适合开发者使用

light版本:适合用户使用

arm版本:适合arm处理器上使用

可能会提示可能造成计算机损坏,无视,继续下载

安装

安装

双击执行,忽略安全警告直接运行

同意,下一步

之后步骤全部默认,直接傻瓜式安装

全部取消勾选,完成finish

配置环境变量

 文件夹中进入到下载路径的bin文件夹中,将路径复制

win+R,在出现窗口执行命令sysdm.cpl

sysdm.cpl


高级 -> 环境变量,双击path -> 新建 -> 将复制的路径粘贴进去 -> 一路点击确定,直到环境变量界面关闭

验证

在文件的安装路径中,输入cmd到命令提示符下

输入指令:openssl version

openssl version

如图所示,成功!

生成一个自签名的根证书

创建一个自签名的根证书

执行完后的命令提示符下,继续执行命令

注意!!!一定要在文件路径bin的pem中唤醒cmd!!!!!!!否则root.pem和root.key文件都会存到c盘中!!!!!!!

openssl genrsa -out root.key 1024

这将创建一个强度为 1024 位的新 root.key 文件,通常,1024 位就足够了

对根证书进行自签名

继续输入命令,其中365是证书有效天数

openssl req -x509 -days 365 -new -nodes -key root.key -out root.pem

结果将提示您提供签署证书所需的一些详细信息,直接一路enter,直到出现新的命令行

这将在当前文件夹中放置一个新的 root.pem 文件。该文件将在您的 uniGUI 服务器中使用。

生成一个自签名的密钥

该步骤将生成key.pem 和 cert.pem 文件

命令提示符下,执行命令

openssl req -x509 -days 365 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem

完成上述所有过程后,最终将得到三个名为root.pem,key.pem和cert.pem的文件,这三个文件是在SSL模式下设置和运行项目所必需的。这些文件必须与服务器可执行二进制文件放在同一文件夹中。

SSL参数配置

将...\bin\PEM中的cert.pem root.pem和key.pem都复制到文件路径\Win32\Debug中

我之前执行命令提示符的时候直接就是默认路径,结果这三个文件全都下载到c盘里去了,我死也找不到,死也找不到啊/(ㄒoㄒ)/~~

还需要OpenSSL标准DLL库文件。libeay32.dll,ssleay32.dll在unigui下载文件夹Framework\uniGUI\SSL\dll\x86中,D:\GouGu\DownLoad\UniGUI\9225e-main\Framework\uniGUI\SSL\dll\x86,将它们复制在与uniGUI服务器相同的文件夹中,即复制到运行某个程序的文件夹中的\Win32\Debug文件夹中。

打开一个已经创建好了的web项目,如何创建一个web项目参考文章:Delphi 12 UniGUI 控件资源下载-CSDN博客

在项目右侧的项目管理器中找到ServerModule,并打开

在左侧对象监视器中修改属性,按照图中红色框起的部分进行修改。

其中port默认端口是8077,也可以自己修改,如果出于某种原因需要在同一站点同 时使用 http 和 https 协议,则可以通过为每个协议分配不同的端口来启用它们

ServerModule->SSL->SSLPort = 443

ServerModule->Port = 8077

在上述配置中,您可以从端口 8077 访问标准的 HTTP 协议,并可以通过端口 443 访问 https 协议。

测试

执行程序,但是不打开

去浏览器中访问本地网址https://127.0.0.1(127.0.0.1是本地网址),提示不安全,忽略不安全提示


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

相关文章:

  • WEB服务器实现(药品商超)
  • Jenkins下载安装、构建部署到linux远程启动运行
  • SpringCloud篇(服务网关 - GateWay)
  • LeetCode题解:18.四数之和【Python题解超详细】,三数之和 vs. 四数之和
  • HOW - PPT 制作系列(一)
  • AntFlow:一款高效灵活的开源工作流引擎
  • 3D数据格式转换工具HOOPS Exchange如何在读取CAD文件时处理镶嵌数据?
  • java数据类型之间的转换|超详解
  • 腾讯云轻量应用服务器部署私有笔记,立省365元
  • spring boot接收参数
  • 大数据挖掘
  • Javamail发送Excel附件具体实现
  • 【c++笔试强训】(第十一篇)
  • 在CentOS中,通过nginx访问php
  • Win10/11 安装使用 Neo4j Community Edition
  • Linux从入门到精通
  • vue el-table 超出隐藏移入弹窗显示
  • 使用python操作kafka
  • 天空地一体化立体感知智慧环保解决方案
  • 【C】文件的写入与读取
  • Python中的TCP
  • 鸿蒙Navigation入门使用
  • 【java】链表:找到成环的起始节点
  • git,ssh免密公钥配置,gitee为例,GitHub,gitlab同理
  • uniapp如何i18n国际化
  • 【flutter】flutter2升级到3.