使用最新的 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