在windows 下用openssl 实现内网HTTPS

server/2024/9/23 10:14:42/


编写server.ini文件

Server.ini内容如下:
#开始
subjectAltName = @YNBTN
extendedKeyUsage = serverAuth
 
[ynbtn]
 
# 域名,如有多个用DNS.2,DNS.3…来增加
DNS.1 =
# IP地址  多ip地址,均可使用同一套根证书和服务器证书
IP.1 = 10.20.0.17
IP.2 = 10.2.3.30
IP.3 = 10.20.2.11
IP.4 = 10.20.22.11
 

生成根证书和服务器证书

执行以下命令(前提是安装openssl,本例为3.3版。)
openssl req -x509 -newkey rsa:2048 -out CA.cer -outform PEM -keyout CA.pvk -days 20000 -verbose  -nodes -sha256 -subj "/CN=YNBTN CA"
openssl req -newkey rsa:2048 -keyout Server.pvk -out Server.req -subj /CN=10.20.0.17-sha256 -nodes
openssl x509 -req -CA CA.cer -CAkey CA.pvk -in Server.req -out Server.cer -days 20000 -extfile Server.ini -sha256 -set_serial 0x1111

得到如下文件
ca.cer
ca.pvk
server.pvk
server.req
server.cer

在服务器端安装服务器证书

在服务器端安装服务器端证书和密钥,但无须安装根证书。
服务器端为windows,须将服务器端证书和密钥转换为pfx.执行如下命令
openssl pkcs12 -export -out server.pfx -inkey server.pvk -in server.cer
要求输入密码时可直接回车。
此时生成server.pfx文件,但该文件在在windows server 2016无法导入,始终提示密码不正常,据说在2016以上版本可以使用。
对此情况,可执行如下增加了参数的命令重新生成server.pfx,此pfx可在windows server 2016上正常导入。
openssl pkcs12 -macalg SHA1 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -out server.pfx -inkey server.pvk -in server.cer

将生成的server.pfx复制到windows服务器,双击,将其导入到“本地计算机\个人”中,中间要求输入密码,如先前未设可直接下一步,如设则输入密码。
 

绑定服务器证书

在iis管理器中,选择相关网站,在右侧点击”绑定“进行绑定。选择名为“10.20.0.17-sha256”的证书,在绑定证书时会提示“证书链中的一个或多个中间证书丢失。要解决此问题,请确保安装了所有中间证书...",无须理会,当然也可将生成的ca.cer导入到”本地计算机\受信任的根证书颁发机构“,但意义不大。


客户端安装根证书

在windows客户端导入ca.cer到本地计算机\受信任的根证书颁发机构。重启浏览器,即可通过https://10.20.0.17等形式访问网站了。


参考文献

内网使用openssl自签名证书开启https连接,同时解决chrome浏览器中的不安全访问
https://blog.csdn.net/weixin_44021888/article/details/140175819


导入pfx到IIS Windows Server 2016 -指定的网络密码不正确
https://www.saoniuhuo.com/question/detail-2195591.html


http://www.ppmy.cn/server/99557.html

相关文章

flink web监控

作者:南墨 监控指标 进入Flink的原生页面,需要从yarn的原生页面的后台链接进入,如下图: 这里必须要用supergroup组的用户或者flink提交任务的用户(如果该用户是机机用户不能登录)才能够看到任务。 系统监…

LVS 调度器 nat和DR模式

lvs-nat 修改请求报文的目标IP,多目标IP的DNAT 配置网络 LVS主机 注意网卡的顺序 (nat和主机模式) [rootlvs ~]# cat /etc/NetworkManager/system-connections/ens160.nmconnection [connection] idens160 typeethernet interface-nameens160 ​ [ip…

[Unity]开启材质GPU Instancing,合批相同材质不同颜色的物体。

1. 在自定义shader里添加宏定义: #pragma multi_compile_instancing 然后在材质的Inspector栏可以看到GPU Instancing选项,勾选即可。 2. 在自定义shader定义属性的代码下添加: UNITY_INSTANCING_BUFFER_START(Props)UNITY_DEFINE_INSTANC…

头狼择校小程序

综述介绍 头狼择校,是头狼择™高校的简称,我们专注高校、大学的择校。倡导先嗅就业再择校,是预约工具和对话平台。帮您嗅招办、嗅教授、嗅学姐,预约择校有关的老师、顾问,助力考大学和考研的“双考”学生及家长了解就…

OpenCV 基本使用

OpenCV 基本使用 参考教程: GitHub - gaoxiang12/slambook2: edition 2 of the slambook 1. 安装 OpenCV 1.1 下载 OpenCV 参考教程: 无法定位软件包libjasper-dev的解决办法-CSDN博客 视觉slam14讲ch5 opencv安装 ubuntu20.04_libvtk5-dev-CSDN博…

gdb: 编译,lzma,configure: error: missing liblzma for --with-lzma

如果是想编译时带着’–with-lzma’。如果编译主机以及安装了liblzma,gdb的configure会自动配置enable。 Build GDB with LZMA, a compression library. (Done by default if liblzma is installed and found at configure time.) LZMA is used by GDB’s “mini debuginfo” …

SQL注入---时间盲注

目录 1、时间盲注 1.1原理 2、常见函数 2.1延迟函数 2.2相关函数 3、注入流程 3.1判断注入点 3.2测试可注入方式 3.3猜数据库长度 3.4猜数据库名 4、靶场示例(less9) 4.1判断注入点 4.2猜测数据库长度 4.3猜数据库名 代码: 结…

智能分析,安全无忧:AI视频分析技术在安全生产中的深度应用

在当今快速发展的科技时代,视频智能分析技术(Intelligent Video Analysis,简称IV)已经成为提升安全生产水平的重要手段。这一技术通过计算机图像视觉分析技术,实现了对场景中目标的自动识别和追踪,有效提升…