问题标签 [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 回答
174 浏览

java - 使用 Jackson 将 POJO 序列化为 CBOR 时的整数键

我正在编写一个需要使用基于 CBOR 的协议进行通信的 Kotlin 程序(尽管这里没有特定于 Kotlin 的内容,因此也欢迎基于 Java 的答案)。该协议使用整数作为字段名称以节省空间,并且更改协议不是一种选择。

一个简单的例子:

哪个输出:Bytes as Base64: v2NzdHJlSGVsbG//

为了看看另一端会发生什么,我使用了一个 Python 脚本:

哪个打印{'str': 'Hello'}

我想要的是{1: 'Hello'}


我在网上找到的所有关于整数键的答案似乎都集中在类型上,Map<Integer,String>而不是 POJO,实际上我可以通过以下方式获得所需的结果:

但是编组进出 Map 对象的所有内容破坏了使用像 Jackson 这样的数据绑定库的意义。


在一个理想的世界里,我可以用一个简单的注释来做到这一点,例如:

但是 JsonProperty 注解只接受字符串值,并且@JsonProperty(index=1)只影响生成映射中属性的顺序。

我也试过:

@JsonSerialize(keyUsing=...)似乎特定于地图字段。

显而易见的蛮力解决方案是为用于JsonGenerator.writeFieldId()编写整数字段标签的类编写我自己的自定义序列化程序,但我觉得这将很快变得复杂,特别是因为这个协议将涉及几十个类,并且据我所知,我需要为每个单独编写一个自定义序列化程序。

有没有我想念的更简单的方法?

0 投票
1 回答
732 浏览

c# - 如何使用 C# .Net 核心对 CBOR 二进制文档进行 COSE 签名?

如何使用 C# .Net 核心对 CBOR 二进制文档进行 COSE 签名?我发现有 NuGet Package Com.AugustCellars.COSE 但我是这个领域的新手,我找不到任何示例,如何使用它。

0 投票
0 回答
105 浏览

certificate - CBOR 错误:不允许尾随数据字节

我需要为我的站点实施 SXG(签名交换)。目标是允许 Google 预取该网站。我遵循此说明https://github.com/WICG/webpackage/tree/main/go/signedexchange#creating-our-first-signed-exchange(用于测试自签名证书)。以防万一这是我使用的命令:

我尝试使用以下命令测试该功能:

响应内容类型为 application/signed-exchange;v=b3 但响应本身不正常 - 存在以下错误:

谁能告诉我我做错了什么以及如何获得正确的 SXG?

0 投票
3 回答
2506 浏览

qr-code - 如何以清晰的方式显示 CBOR Web Token 编码的令牌?

我正在尝试使电晕疫苗接种中的 QR 码的内容清晰易读。找到以下页面。我只是不太明白如何读取扫描的字符串。

链接/认证 API

细绳:HC1:6BFOXN*TS0BI$ZD4N9:9S6RCVN5+O30K3/XIV0W23NTDEPWK G2EP4J0B3KLASMUG8GJL8LLG.3SA3/-2E%5VR5VVBJZILDBZ8D%JTQOL2009UVD0HX2JN*4CY009TX/9F/GZ%5U1MC82*%95HC2FCG2K80H-1GW$5IKKQJO0OPN484SI4UUIMI.J9WVHWVH+ZE/T9MX1HRIWQHCR2HL9EIAESHOP6OH6MN9*QHAO96Y2/*13A5-8E6V59I9BZK6:IR/S09T./0LWTHC0/P6HRTO$9KZ56DE/.QC$QUC0:GOODPUHLO$GAHLW 70SO:GOV636*2. KOKGKZGJMI:TU+MMPZ5OV1 V125VE-4RZ4E%5MK9BM57KPGX7K:7D-M1MO0Q2AQE:CA7ED6LF90I3DA+:E3OGJMSGX8+KL1FD*Y49+574MYKOE1MJ-69KKRB4AC8.C8HKK9NTYV4E1MZ3K1:HF.5E1MRB4WKP/HLIJL8JF8JF172M*8OEB2%7OREF:FO:7-WF11SKCU1MH8FWPVH%L635OBXTY*LPM6B9OBYSH:4Q1BQ:A5+I6:DQR9VKR8 BLHCFQMZA5:PHR14%GV4ZOP50$ A 3

显然这个字符串是由 CBOR Web Token 编码的。有谁知道我如何用 Java 或 PHP 解码它?

0 投票
0 回答
119 浏览

angular - 在 Angular 前端使用 CBOR 的示例代码

有人有一些关于如何在 Angular 前端解码 CBOR 消息的示例代码吗?如果我通过 npm 安装“cbor-web”,我会在 Angular 前端启动期间遇到异常:

谢谢,迪特

0 投票
1 回答
3145 浏览

node.js - Webpack 5+Process 未定义由 stream-browserify 触发

我必须使用节点模块解码CBOR编码数组。cbor

当我启动我的命令时:

正在触发此错误:

stram-browserifypolyfill 触发,必须在我的 Web 应用程序中使用所有这些包。

当我在网上阅读时,我尝试process在我package.jsonwebpack.

通过DefinePlugin尝试,错误发生了变化,它说browser is not defined

任何人都知道如何正确填充此模块,或者是否有其他方法可以使用该CBOR模块?

非常感谢

0 投票
2 回答
9836 浏览

javascript - 解码一个base45字符串,这将导致一个cbor压缩文件

嗨,我正在尝试阅读我的绿色通行证证书,我知道当您扫描 QR 码时,它会出现类似 HC1:NHFDFGDF ......,我也知道这是编码为 base45,所以我做了一个小的 javascript 解码器,这是我的代码:

这是回应:

我读到的是它对base45的解码将导致zlib压缩文件,其中解压缩将导致CBOR网络令牌,但我卡住了,你能帮帮我吗?这个结果正常吗?我还在学习

0 投票
0 回答
1427 浏览

python - 如何对 COSE 签名的消息进行编码?

我正在尝试加密。我已经成功地从一个字符串中解码了一条 COSE 消息。我现在想把它编码回来。我尝试使用COSE 库来做到这一点,但不知道如何编译它的每个字段。我的字符串是这样的:

出于编码目的,我被要求填写以下数据:

有人可以帮我吗?谢谢

0 投票
5 回答
4289 浏览

python - 将 QR 解码解决方案从 Python 转换为 C# (EU DGC)

我正在尝试将此 Python 代码转换为 C#(理想情况下为 .NET Core)。 资源

我的目标是将 QR 输入字符串转换为另一个包含 json 数据的字符串。请参阅提供的链接。

我找不到任何可以正常工作的Zlib的 NuGet 包。所以我在base45解码后直接卡住了。感谢您的任何提示。

链接可能有助于进一步调查。

解码方案

0 投票
1 回答
411 浏览

node.js - 验证 COSE 数据 (P-256)

我正在尝试验证欧盟 covid 护照中的 COSE 数据。

使用https://github.com/panzi/verify-ehc进行验证,但这使用 python 库,我想在 JS 中进行。验证依赖于这个公共证书:

我要验证的数据是 COSE/CBOR 数据(result如下),看起来像

我尝试使用以下

createVerify 在这里。我已经headers1进一步解码并声称该算法是ES256(我不知道它是如何对应的P-256)。

我总是verified: false怀疑这是因为:

  • 我使用了错误的加密工具;和/或
  • 我正在验证错误的数据(导致签名无法匹配)

欢迎大家指点