如何基于WSL创建TLS服务器

这篇具有很好参考价值的文章主要介绍了如何基于WSL创建TLS服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果大家有幸进行TLS(Transport Layer Security传输层安全)协议栈的移植工作并实现客户端功能,那么在完成协议栈移植后要确认自己的移植工作是有效的方法肯定是和支持TLS协议的服务器进行联调工作。网络服务商可能开放了MQTT之类的收发接口,而没有提供TLS层的测试接口,所以比较好的方法就是自己进行服务器的搭建工作。本篇将介绍在WSL(Windows Subsystem Linux)环境下完成基于LINUX的TLS服务器搭建。

下载WSL以及配置环境

从win11开始,windows系统开始支持linux子系统,简称就是WSL(Windows Subsystem Linux)。安装子系统的话首先打开windows的商店。然后再商店中键入关键字"linux"或者“ubuntu”则会出现如图所示的安装软件。LTS的意思是Long Term Support就是会获得官方长久支持的版本的。

如何基于WSL创建TLS服务器,linux

需要许可Linux子系统的运行,通过控制面板->程序->启动或者关闭windows功能,然后将Hyper-V、适用于Linux的Windows子系统以及虚拟平台都勾选上,这样才能在完成ubuntu的安装后正常的运行Linux子系统

如何基于WSL创建TLS服务器,linux

Hyper-V的安装

这个时候关键来了,大家平时的笔记本安装的都是windows 家庭版,而Hyper-V这个特性只在企业版和专业版上才有。有朋友问,这个东西是干什么用的?是不是可以不装?我的答案是不行!因为我们后续基于WSL创建的TLS服务器是基于虚拟网络的(安装完成后启动WSL,会发现有个叫vEthernet的玩意,就是WSL的虚拟网络)如果希望通过笔记本的网口把报文发送到WSL进行处理,那就必须使用Hyper-V将WSL的虚拟网络接入到实际的网口上。(网上也有提供各种样式的使用PowerShell指令映射,但是至少我没试出来,最终还是用Hyper-V最简洁明了)

所以接下来我会提供一个在家庭版windows上实现Hyper-V安装的方法。

1、新建txt文档

2、将下述内容复制粘贴到文档中

pushd"%~dp0"
dir/b%SystemRoot%\servicing\Packages\Hyper-V.mumhyper-v.txt
for/f%%iin('findstr/i.hyper-v.txt2^nul')dodism/online/norestart/add-package:"%SystemRoot%\servicing\Packages\%%i"
delhyper-v.txt
Dism/online/enable-feature/featurename:Microsoft-Hyper-V-All/LimitAccess/ALL

3、保存txt文件并把文件后缀从txt修改为bat

4、以管理员身份执行bat文件,windows则会启动Hyper-V的安装

WSL搭建TLS服务器

完成上述的各种环境配置后可以启动安装好的ubuntu子环境,可以进入基于终端的LINUX界面(非常有OG程序员的感觉,哈哈),这个时候我们需要在Linux环境下安装一个软件叫openssl, Linux安装软件使用命令行即可,用过键入下述指令即可实现openssl的安装,由于我已经安装了所以提示图如所示。OpenSSL是开源的SSL/TLS协议栈,有兴趣的朋友可以进一步搜索一下。PS:有的朋友关注点会在我的主机名上,叫自己的笔记本一声小宝贝不过分吧~

apt install openssl

如何基于WSL创建TLS服务器,linux

安装完openssl后,我们需要借用该软件生成一个证书(这是TLS的加密关键就在于证书,OpenSSL就可以完成一个证书的生成,当然正经的CA证书还是需要自行去走正规途径申请)。通过一下输入以下指令来生成证书

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

键入上述指令后会出现如下图形,这个类似于自己给自己的证书使用再加一道密码,就是类似于要是用这些证书开启TLS服务器,需要使用者键入生成时设定的密码的。友情提醒,设定密码的时候你键入内容不会显示在屏幕上(我一度不清楚我输入的东西哪儿去了),所以大家一定要记清楚自己设定的密码,包括大小写等。完成密码设定后回车即可。然后后面的内容就是依次根据提示填写一些信息,例如国家、省份、城市、组织和常用名。您可以根据需要自定义这些信息,但常用名必须是您要将证书用于的域名或IP地址。

如何基于WSL创建TLS服务器,linux

完成填写后则会生成使用的证书,通过键入指令“ls”,则可以查看当前目录下的文件名,可见已完成证书cert.pem与密钥key.pem的生成

如何基于WSL创建TLS服务器,linux

然后通过键入如下指令,则可以开启一个使用生成的证书,端口号为443的TLS服务器

openssl s_server -key key.pem -cert cert.pem -accept 443

开启的时候会要求输入最开始创建证书时自定义的密码,键入后回车即可,就会开启如下接口,表示此时TLS服务器已开启并处于监听状态,等待客户端连接。

如何基于WSL创建TLS服务器,linux

通过键入如下指令则可以查看到当前WSL的IP配置,这样连接服务器需要的IP信息和端口信息就都知道了

如何基于WSL创建TLS服务器,linux

在打开一个WSL终端端口,键入如下指令,其中IP填写刚才用指令查询到的服务端IP,然后端口填写服务端开启是设定端口

openssl s_client -connect IP:port

成功连接后则如下图所示

如何基于WSL创建TLS服务器,linux

Hyper-V设置

打开Hyper-V管理面板,找到WSL将其虚拟网络接入到实际网口即可,这样通过电脑的实际网口传入的以太网口报文则会传入到WSL进行处理,这样完成了TLS协议栈移植的板子则可以实现与电脑搭建的TLS服务器进行握手、数据收发以及加解密是否成功的测试了

如何基于WSL创建TLS服务器,linux

如何基于WSL创建TLS服务器,linux文章来源地址https://www.toymoban.com/news/detail-825535.html

到了这里,关于如何基于WSL创建TLS服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win11 使用 WSL2 安装 linux 子系统 ubuntu 出现错误:无法解析服务器的名称或地址

    解决方法: 记事本打开 C:WindowsSystem32driversetchosts 文件, 添加如下解析地址 #raw.githubusercontent.com 185.199.108.133 raw.githubusercontent.com 185.199.109.133 raw.githubusercontent.com 185.199.110.133 raw.githubusercontent.com 185.199.111.133 raw.githubusercontent.com ifconfig /flushdns 查看可安装的 WSL wsl --list --onlin

    2024年04月27日
    浏览(69)
  • 使用 WSL 在 Windows 上安装 Linux提示无法解析服务器的名称或地址及0x80370114问题解决

    开发人员可以通过WSL在windows电脑上安装Linux发行版,并可以直接在电脑上使用Linux应用程序、实用程序和Bash命令行工具等。 必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。 在管理员模式下打开 PowerShell 或 Windows 命令提示符

    2024年02月07日
    浏览(49)
  • linux服务器创建新用户

    无论是创建新用户还是删除某个用户,都需要拿到root用户的密码,才有权限创建删除。 首先进入root账户,输入以下指令,created_name 是我们创建的用户名,可以换成你想要创建的用户名称。 按回车后,输入如下指令设置账户密码 按回车后,在 New password 后面输入设置的密码

    2024年02月16日
    浏览(52)
  • 阿里云服务器如何创建快照?

    阿里云服务器如何创建快照? 首先我们来说一下什么是快照? 快照相当于是数据备份,可以为所有类型的ECS云盘创建快照,用于备份或者恢复云盘的数据,是一种高效的数据容灾手段。 我们可以为服务器的云盘创建快照,可以通过快照生成镜像,再通过镜像去创建新的服务

    2023年04月12日
    浏览(53)
  • 云服务器基于Centos创建个人云盘实践经验分享

    执行如下命令,下载cloudreve安装包。 下载完毕后,执行如下命令,解压cloudreve安装包 解压后通过ls命令查看文件是否解压成功 执行如下命令,给cloudreve授予权限。+x表示赋予可执行权限 这里要特别记录下初始管理员账号和密码: [Info] 2024-01-15 11:04:43 初始管理员账号:admin@

    2024年01月17日
    浏览(39)
  • gitbub创建远程仓库(基于vscode远程连接服务器)

    背景:vscode已远程连接服务器、已经下载好git 目的:在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步 创建仓库具体方法不再赘述,需要注意的是先别选择add a readre file,具体原因有点说不清楚(博主也菜),但是踩过坑建议别选,后

    2024年02月09日
    浏览(50)
  • 如何在 CentOS 7 服务器上创建新用户?

    因工作原因,需要在 CentOS 7 服务器创建新的用户,以供别人使用。以下为创建新用户的相关步骤,有需要的小伙伴可以参考。 CentOS 7.9 以 root 用户身份登录到 CentOS 服务器。 运行以下命令以创建新用户: 其中, username 是您要创建的新用户的用户名。该命令将创建一个新用户

    2024年02月07日
    浏览(43)
  • 基于 ESP32 创建 HTTP Server 服务器,支持载入文件到服务器,并对载入文件进行删除管理

    软件编程指南参见:HTTP 服务器 任意一款 ESP32 系列开发板 2.4GHz 路由器热点 准备各种格式的文件 可基于 esp-idf/examples/protocols/http_server /file_serving 例程进行测试 只需要设置 ESP32 连接的 2.4GHz 的 WiFi 热点 即可 menuconfig — Example Connection Configuration — WiFi SSID — WiFi Password 下载固件

    2024年02月16日
    浏览(58)
  • 亚马逊AWS上怎么创建Linux 服务器?操作难不难?

    AWS(Amazon Web Services)是全球领先的云服务器提供商之一。你可以使用 AWS 平台在一分钟内设置完服务器。在 AWS 上,你可以微调服务器的许多技术细节,如 CPU 数量,内存和磁盘空间,磁盘类型(更快的 SSD 或者经典的 IDE)等。关于 AWS ***的一点是,你只需要为你使用到的服务付费。

    2024年04月16日
    浏览(45)
  • 基于python-socket构建任务服务器(基于socket发送指令创建、停止任务)

    在实现ia业务服务器时需要构建一个python-socket客户端,1、要求能与服务器保持心跳连接,每10秒钟发送一次心跳信号;2、要求能根据socket服务器发送的指令创建或终止一个定时任务。 为此以3个类实现该功能,分别为socket通信类(用于实现通信连接与任务创建)、任务池类(

    2024年02月22日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包