问题标签 [cbor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - 从 CBOR ByteArray 中检索数据
我正在尝试使用 Jackson CBOR 数据格式库将映射序列化为 Kotlin 中的 CBOR,如果键是 String ,这可以正常工作,我可以轻松检索该键的值,但是当 Int 中的键时,它返回 null 给我对于我所做的每一次获取,如果我打印出 values() 的输出,它会为我提供所有键的所有值。
代码如下所示:
python - 为什么在 Python 库和 RIOT OS C 库中编码 CBOR 时存在差异?
所以我有这个东西
当从使用 NanoCBOR 的系统中读取这些数据时,我会得到类似这样的信息
我可以在 Python 3 中对其进行解码并获得正确的结果。但是当我尝试将其编码回来时,就像这样
并且系统不会将其作为有效消息取回。
A 尝试了所有 Python 库 cbor、cbor2 flynn 和 flunn。
文档很少,我不知道如何以正确的格式对其进行编码。
unix - 使用 openSSL 验证 EU GreenPass
我刚收到我的 Covid Green Pass。我已经开始对其进行解码,这是我得到的字段:
在此示例中,所有字段都是十六进制。有效载荷是一个 CBOR 结构,可以进一步解码以获取您的数据。
验证 GreenPass
我现在想做的是使用 Unix 工具验证签名openssl
。我发现绿色通道签名是使用椭圆曲线数字签名算法 (ECDSA) 创建的,使用 P-256 参数和 SHA-256 哈希算法。
有了openssl
,我应该能够验证这个绿卡:
我需要三个参数public_key_it
:my_signature
和my_data
。
public_key_it
是一个包含能够检查绿色通行证签名的公钥的文件。它可以在线获得,对于意大利,它是:
my_signature
是一个包含绿色通行证签名部分的文件。我明白了:
- 这
my_data
部分更加神秘。似乎它应该是 a ,Sig_structure
如https://datatracker.ietf.org/doc/html/rfc8152#section-4.4中所指定。无论如何,我尝试编写它:
有些字符是不可打印的,所以这里又是十六进制:
好吧,如果我尝试上面的 openssl 命令,我会得到:
有什么提示吗?我什至走在正确的轨道上吗?谢谢
编辑:我现在解决了这个问题。我在一篇博文中写了所有细节:http: //www.corentindupont.info/blog/posts/Programming/2021-08-13-GreenPass.html
java - 获得正确的 CBOR 输出
我有一个小代码片段,我尝试将映射(一种 JSON 对象)序列化为 CBOR ByteArray。但我无法获得与 CBOR 游乐场 cbor.me 相同的输出
我想序列化为 CBOR 的内容是:
如果我在 cbor.me 中序列化它,我会得到:
我的代码如下所示:
打印的输出是这样的:
TLDR 如何获得与 CBOR 游乐场相同的输出?
java - Double 的 CBOR 编码给了我错误的输出
我现在正在使用 Google 的 CBORTree 库,我正在尝试像这样对 Double 进行编码:
我的输出是:
但是引用 cbor.me 的输出应该是这样的:
我究竟做错了什么?
链接到库:lib
node.js - 库 cbor 在转换中引入了一个新值
我在node.js上做的这个程序,有异常。当我进行 decodeAllSync 时,我得到一个十进制数字的向量,它的数字比通过使用 encodeAsync 重新转换向量得到的数字少一个。为什么我没有得到相同的向量?谢谢
我收到输入的打印输出:
我收到输出的打印输出:
json - 如何将结构反序列化/序列化为没有键的数组
如何在没有键的情况下对结构进行反序列化/序列化?由于我不会更改字段的顺序,因此索引可以作为键来减少有效负载的大小。
我正在使用 serde_json 和 ciborium 板条箱,它们都具有顶级数组值。
例如,
跟随 cbor/json
应该转换成这个
我可以通过使用 ciborium crate 的Value::array枚举手动执行此操作,但最终我将编写更多代码并且无法使用serde_bytes
crate 有效解码Vec<u8>
node.js - 如何从解码缓冲区编码 CBOR
在解码然后编码然后解码 CBOR 时,缓冲区返回的结果不同。
完整代码 如何解码 GreenPass 二维码。受https://git.gir.st/greenpass.git/blob_plain/master:/greenpass.py启发的简单绿色通行证解码器 完整代码如何解码 GreenPass 二维码。受https://git.gir.st/greenpass.git/blob_plain/master:/greenpass.py启发的简单绿色通行证解码器 完整代码如何解码 GreenPass 二维码。受https://git.gir.st/greenpass.git/blob_plain/master:/greenpass.py启发的简单绿色通行证解码器 完整代码如何解码 GreenPass 二维码。受https://git.gir.st/greenpass.git/blob_plain/master:/greenpass.py启发的简单绿色通行证解码器
python - NameError:名称“cbor”未定义
我用了
这导致
信息。(cbor 之前已经通过 pip install 安装过。)
有什么提示吗?