问题标签 [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.

0 投票
0 回答
70 浏览

encode - 如何正确反转 CBOR.decode

[headers1,headers2,cbor_data,签名] = CBOR.decode(解压缩);

结果是

数组 [Uint8Array[13],对象,Uint8Array[257],Uint8Array[64]]

CBOR.encode([headers1, headers2, cbor_data, 签名]);

结果是

ArrayBuffer { byteLength: 342 }

如何正确反转 CBOR.decode(解压缩)?

0 投票
0 回答
125 浏览

javascript - 如何将 cbor.tag 添加到 cose-js 中的 cose 签名中

有使用 cose-js 经验的人知道如何将 cbor 标签添加到 cose 签名中吗?更具体地说,标签“18”表示它是 cos-sign1。

我正在为我的计算机科学课程学习 COSE,我需要使用 cose-sign1 程序使用 CBOR 和 COSE 对秘方进行编码。

目前你得到这个 --> {[[protected header, unprotected header], [payload], [signature]]}。

但我需要这个 --> {Number: 18 Content: [[protected header, unprotected header], [payload], [signature]]}

有任何想法吗?

谢谢

0 投票
1 回答
112 浏览

c++ - C++ jsoncons:cbor 到 json

我想使用 C++ jsoncons 库(https://github.com/danielaparker/jsoncons/blob/master/doc/ref/cbor/cbor.md)将 cbor 转换为 json。但是当我打印结果来控制台时,有些条目很奇怪。

我的代码:

输出是:

一切似乎都很好,但与将 cbor 转换为字符串 ( http://cbor.me/ ) 的在线工具相比。结果与在线工具的输出不同(预期输出):

1 和 -1 的值是不同的,我不明白。我猜想打字是问题,但我不知道如何正确打印 1 和 -1 的值。这可能会有所帮助(https://github.com/danielaparker/jsoncons/blob/master/doc/ref/cbor/cbor.md)。它显示了从 cbor 到 json 的类型转换,但我仍然难以正确打印 1 和 -1 的值(我真正需要的唯一值)。

0 投票
0 回答
34 浏览

json - JSON 和 CBOR 格式可以互换吗?

是否可以将任何 JSON 格式的数据转换为 CBOR,反之亦然?

0 投票
0 回答
52 浏览

python - 如何使用 CSR 证书签署 Cose 消息?

我有一个以 MIICi 开头的 CSR 证书。

我想了解如何使用 CSR 证书从 JSON 签署 CBOR 编码消息。

假设您有以下示例 JSON:{“foo”:“bar”}

然后通常我用 Python 中的 Cbor2 库对其进行编码。但是我不知道如何通过证书。

随意使用任何其他语言或库。所有建议将不胜感激!

0 投票
1 回答
198 浏览

javascript - 关于密钥格式的 CBOR 编码问题

在 javascript(不使用节点)上,当使用库( https://github.com/paroga/cbor-js)和在线使用 CBOR(https://cbor.me/ )进行 CBOR 编码时,我面临不同的结果。请注意,即使使用更新的 CBOR 库,结果也是相同的。

例如设置一个对象,例如:

使用 CBOR 在线编码给出:a201644a6f686e622d321901c8。详情如下:

现在在 javascript 上使用 CBOR 库进行编码会产生不同的结果:a26131644a6f686e622d321901c8

在在线 CBOR 上解码以上十六进制时,我得到:{“1”:“John”,“-2”:456}。结果几乎与常量 'initial' 相同,只是键 1 现在带有引号 (")。

CBOR online 将我的十六进制值重新格式化为更“可读”的视图:

请参阅下面我的 Javascript 代码:

我可以手动替换特定的十六进制值,例如:

'61 31 64' 替换为 '01 64'

但不要想这样做,因为列表对于涵盖所有可能的选项可能很重要。

是否有人有解决方法,因为我需要我的结果是 'a201644a6f686e622d321901c8' 而不是 'a26131644a6f686e622d321901c8' ?

0 投票
1 回答
394 浏览

python-3.x - 在 Python 中解码 covid TESTING 证书 - 无效的 base45 字符串

谢谢您的帮助。

使用以下示例脚本,我可以成功解码(a) covid VACCINATION条形码并将 json 传递给我的应用程序(我已经在我的“绿色通行证”应用程序中使用条形码对此进行了测试,并且可行)。

但是,当我从我们的地方当局扫描(b) TEST 条形码(即反基因测试、PCR 测试……)并将字符串传递给脚本时,相同的脚本返回“ValueError:无效的 base45 字符串”。

在比较 (a) 疫苗接种 base45 代码和 (b) 测试 base45 代码时,在我未经训练的眼睛看来,两者都是合法的,但显然需要对 (b) 进行其他操作以使其成为有效的 base45?

出于安全原因,我无法粘贴我的真实数据(敏感信息),所以也许你可以帮我弄清楚为什么 (b) 不是 base45而没有看到整个字符串。因此,您可以帮助我的唯一方法是,如果您使用条形码扫描仪扫描您自己的 (a) 和 (b),然后运行您通过我的脚本获得的两个字符串,或者您可能知道任何公开可用的测试数据我们可以合作。非常感谢,伙计们!!!

0 投票
1 回答
125 浏览

python - 从 DER 格式的 base64 编码公钥到 Python 中的 COSE 密钥

我有一个 DER 格式的 base64 编码公钥。在 Python 中,如何将其转换为 COSE 密钥?

这是我失败的尝试:

0 投票
0 回答
17 浏览

c++ - 用 CBOR 序列化已经定义的类

目前我尝试用 CBOR 序列化嵌入式项目的一些数据。我是 CBOR 的新手,所以也许你们中的某个人可以帮助我。我想要实现的是,通过 Python 在我的 PC 上序列化一些数据,这些数据应该代表我嵌入式项目中的一个类。然后我通过 BLE 将数据下载到我的嵌入式项目并在那里反序列化。

假设我的项目中已经定义了以下类

此类的序列化在 CBOR 中的外观如何?CBOR 和 C++ 有什么好的例子吗?

除了 CBOR,您还有其他建议吗?我熟悉 Protobuf,但我想避免编写 .proto 文件,所以我研究了 CBOR。

0 投票
0 回答
131 浏览

javascript - Base45 编码

我最近对二维码产生了兴趣,并首先了解了 base45 编码和 CBOR。我在下面有一个代码片段,我想知道是否有一种方法可以实际反转,以便您可以编写一个 json 对象或更改名称并将其转换回原来的样子。