问题标签 [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.
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(解压缩)?
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]]}
有任何想法吗?
谢谢
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 的值(我真正需要的唯一值)。
json - JSON 和 CBOR 格式可以互换吗?
是否可以将任何 JSON 格式的数据转换为 CBOR,反之亦然?
python - 如何使用 CSR 证书签署 Cose 消息?
我有一个以 MIICi 开头的 CSR 证书。
我想了解如何使用 CSR 证书从 JSON 签署 CBOR 编码消息。
假设您有以下示例 JSON:{“foo”:“bar”}
然后通常我用 Python 中的 Cbor2 库对其进行编码。但是我不知道如何通过证书。
随意使用任何其他语言或库。所有建议将不胜感激!
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' ?
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),然后运行您通过我的脚本获得的两个字符串,或者您可能知道任何公开可用的测试数据我们可以合作。非常感谢,伙计们!!!
python - 从 DER 格式的 base64 编码公钥到 Python 中的 COSE 密钥
我有一个 DER 格式的 base64 编码公钥。在 Python 中,如何将其转换为 COSE 密钥?
这是我失败的尝试:
c++ - 用 CBOR 序列化已经定义的类
目前我尝试用 CBOR 序列化嵌入式项目的一些数据。我是 CBOR 的新手,所以也许你们中的某个人可以帮助我。我想要实现的是,通过 Python 在我的 PC 上序列化一些数据,这些数据应该代表我嵌入式项目中的一个类。然后我通过 BLE 将数据下载到我的嵌入式项目并在那里反序列化。
假设我的项目中已经定义了以下类
此类的序列化在 CBOR 中的外观如何?CBOR 和 C++ 有什么好的例子吗?
除了 CBOR,您还有其他建议吗?我熟悉 Protobuf,但我想避免编写 .proto 文件,所以我研究了 CBOR。
javascript - Base45 编码
我最近对二维码产生了兴趣,并首先了解了 base45 编码和 CBOR。我在下面有一个代码片段,我想知道是否有一种方法可以实际反转,以便您可以编写一个 json 对象或更改名称并将其转换回原来的样子。