gpt4 book ai didi

linux - 通过串口传输 TLS/SSL 证书

转载 作者:太空宇宙 更新时间:2023-11-04 12:24:02 26 4
gpt4 key购买 nike

我需要发送一个 PEM 格式的证书以存储在一个模块上,该模块可以通过 /dev 中的一个 Linux 设备节点上的串行接口(interface)通过 AT 命令集进行通信。 .

到目前为止,我一直在使用

echo 'AT' > /dev/ttyX

发出必要的命令,它已经很好地完成了这个技巧。

设备的任何输出都由 cat /dev/ttyX 监控在另一个终端窗口上。

我现在有一个用 ANSI 编码的证书文件。文档告诉我仅使用 LF 将其输入到模块中换行符并用 Ctrl+Z 终止输入,我认为是十六进制 0x1A .该文档还指定证书文件不能以 EOF 结尾。特点。我使用了十六进制编辑器来验证文件的格式是否正确。

我尝试同时使用 echoprintf将证书字符/字符串发送到模块。

我尝试在两个文件中都包含 0x1A 字符,并在证书字符之后单独发送它,如下所示:

printf '\x1a' > /dev/ttyX

或者

echo -n -e '\x1a' > /dev/ttyX

模块似乎承认 0x1A因为它停止了 > -提示证书并给我有史以来最详细的回复:ERROR

一般情况下,我发送的证书文件内容如下:

echo -e "$(cat certfile)" > /dev/ttyX

printf '%b' "$(cat certfile)" > /dev/ttyX

请假设我可以访问基本的 Linux shell 工具(例如 echo, printf, nano, stty 等),但没有安装新工具的选项。我使用 SSH 访问目标设备和 pscp将文件传输到目标设备。我旁边还有一台 Windows 设备。

还有什么我应该考虑的建议吗?也许是 stty我错过的选项?是否cat在输入阶段做一些讨厌的事情?调查将要发送到模块的实际字符数据的揭示技巧?我错过了串行通信的一些奇怪问题?

如果我

printf '%b' "$(cat cert)" > ./testoutput

od -x testoutput

该文件在十六进制中看起来不错(我手动重新排序了 od -x 的输出,它似乎生成了一对十六进制数字并将它们调换)。例如结尾是:

2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 1a 00

stty 中一定有东西或引起麻烦的接收端。对吧?

最佳答案

For example the end is:

2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 00 1a

等一下。 001a 之前做什么?

那不属于。尝试将其删除。

关于linux - 通过串口传输 TLS/SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45230963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com