使用 W5500(使用集束弹药有多残忍)

使用 W5500使用最新的 CircuitPython 固件探索 W5500-EVB-Pico 上的 SSL 测试,详细说明设置、实施和结果 转发: Testing SSL with CircuitPython Firmwar

使用最新的 CircuitPython 固件探索 W5500-EVB-Pico 上的 SSL 测试,详细说明设置、实施和结果

在Forward :W5500-EVB-Pico: 上使用CircuitPython 固件测试SSL 的综合指南

项目介绍

介绍

在嵌入式系统和物联网设备不断发展的环境中,确保安全通信至关重要。 W5500-EVB-Pico 是一款多功能微控制器板,可为网络应用提供强大的平台。与CircuitPython(一种专为微控制器定制的开源编程语言)结合使用时,开发人员可以轻松创建安全高效的项目。

该项目探索W5500-EVB-Pico 上SSL(安全套接字层)与最新CircuitPython 固件的集成。 SSL 是一项重要技术,它在服务器和客户端之间建立加密链接,确保通过网络发送的数据的机密性和防篡改。

操作步骤

步骤1.准备CircuitPython环境

从CircuitPython 网站下载最新固件。

截至本指南创建之日,我们使用的是CircuitPython 版本9.1.0-beta.2。

按W5500-EVB-Pico 上的BOOTSEL 按钮并上传下载的uf2 文件。

将显示CIRCUITPY 驱动器。

下载所需的库并将其复制到CIRCUITPY\\lib 文件夹。

本指南使用了以下库:

步骤2. 获取证书

请参阅此处的以下步骤:添加对SSL 客户端证书(load_cert_chain) 和自签名证书(load_verify_locations) 的支持,作者:jepler · Pull Request #7029 · adafruit/Circuitpython · GitHub

通过运行以下命令获取自签名证书:

openssl s_client -servername self-signed.badssl.com -connect untrusted-root.badssl.com:443 /dev/null | openssl x509 self-signed.pem

我使用的是Windows,因此如果我想从命令提示符运行它,我使用以下命令

openssl s_client -servername self-signed.badssl.com -connect untrusted-root.badssl.com:443 openssl x509 -out self-signed.pem

请注意,您的计算机上必须安装openssl。

因此,self-signed.pem 文件应该出现在指定的文件夹中。

将此文件复制到您的CIRCUTPY 驱动器。

步骤 3. 代码

Circuitpython 代码基于wiznet5k 库中的以太网示例和上面拉取请求中的测试代码。

导入SSL

导入时间

进口光盘

进口业务

从数字DigitalInOut 导入

导入adafruit_connection_manager

导入adafruit_requests

从adafruit_wiznet5k.adafruit_wiznet5k 导入WIZNET5K

导入回溯

#cs=DigitalInOut(板.D10)

#spi_bus=Busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)

cs=数字输入输出(板.GP17)

spi_bus=Busio.SPI(板.GP18, MOSI=板.GP19, MISO=板.GP16)

# 使用DHCP 初始化以太网接口

无线电=WIZNET5K(spi_bus, cs)

#初始化请求会话

池=adafruit_connection_manager.get_radio_socketpool(无线电)

ssl_context=adafruit_connection_manager.get_radio_ssl_context(无线电)

请求=adafruit_requests.Session(池,ssl_context)

print(\’加载服务器证书\’)

使用open(\’/self-signed.pem\’, \’rb\’) 作为certfile:

ssl_context.load_verify_locations(cadata=certfile.read())

请求=adafruit_requests.Session(池,ssl_context)

TEXT_URL=\’https://self-signed.badssl.com/\’

print(f\’使用证书从{TEXT_URL} 检索(应该成功)\’)

尝试:

响应=request.get(TEXT_URL)

除了e:

print(f\’意外异常: {e}\’)

: 其他

print(f\'{response.status_code=}, 应该是200 OK\’)

我在定义cs和spi_bus时遇到编译错误,所以我直接分配引脚。

结果

运行代码时,您将在shell 中看到以下结果:

最后,SSL 可以与CircuitPython 的以太网一起使用。感谢CircuitPython 社区的这些改进。

下一步

对于下一个项目,您希望连接到AWS 或Azure 中的云服务。

文档

代码.py

以上关于#W5500使用的相关内容摘自互联网,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92384.html

(0)
CSDN的头像CSDN
上一篇 2024年6月26日
下一篇 2024年6月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注