问题标签 [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.
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()
编写整数字段标签的类编写我自己的自定义序列化程序,但我觉得这将很快变得复杂,特别是因为这个协议将涉及几十个类,并且据我所知,我需要为每个单独编写一个自定义序列化程序。
有没有我想念的更简单的方法?
c# - 如何使用 C# .Net 核心对 CBOR 二进制文档进行 COSE 签名?
如何使用 C# .Net 核心对 CBOR 二进制文档进行 COSE 签名?我发现有 NuGet Package Com.AugustCellars.COSE 但我是这个领域的新手,我找不到任何示例,如何使用它。
certificate - CBOR 错误:不允许尾随数据字节
我需要为我的站点实施 SXG(签名交换)。目标是允许 Google 预取该网站。我遵循此说明https://github.com/WICG/webpackage/tree/main/go/signedexchange#creating-our-first-signed-exchange(用于测试自签名证书)。以防万一这是我使用的命令:
我尝试使用以下命令测试该功能:
响应内容类型为 application/signed-exchange;v=b3 但响应本身不正常 - 存在以下错误:
谁能告诉我我做错了什么以及如何获得正确的 SXG?
qr-code - 如何以清晰的方式显示 CBOR Web Token 编码的令牌?
我正在尝试使电晕疫苗接种中的 QR 码的内容清晰易读。找到以下页面。我只是不太明白如何读取扫描的字符串。
细绳: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 解码它?
angular - 在 Angular 前端使用 CBOR 的示例代码
有人有一些关于如何在 Angular 前端解码 CBOR 消息的示例代码吗?如果我通过 npm 安装“cbor-web”,我会在 Angular 前端启动期间遇到异常:
谢谢,迪特
node.js - Webpack 5+Process 未定义由 stream-browserify 触发
我必须使用节点模块解码CBOR
编码数组。cbor
当我启动我的命令时:
正在触发此错误:
由stram-browserify
polyfill 触发,必须在我的 Web 应用程序中使用所有这些包。
当我在网上阅读时,我尝试process
在我package.json
的webpack
.
通过DefinePlugin
尝试,错误发生了变化,它说browser is not defined
。
任何人都知道如何正确填充此模块,或者是否有其他方法可以使用该CBOR
模块?
非常感谢
javascript - 解码一个base45字符串,这将导致一个cbor压缩文件
嗨,我正在尝试阅读我的绿色通行证证书,我知道当您扫描 QR 码时,它会出现类似 HC1:NHFDFGDF ......,我也知道这是编码为 base45,所以我做了一个小的 javascript 解码器,这是我的代码:
这是回应:
我读到的是它对base45的解码将导致zlib压缩文件,其中解压缩将导致CBOR网络令牌,但我卡住了,你能帮帮我吗?这个结果正常吗?我还在学习
python - 如何对 COSE 签名的消息进行编码?
我正在尝试加密。我已经成功地从一个字符串中解码了一条 COSE 消息。我现在想把它编码回来。我尝试使用COSE 库来做到这一点,但不知道如何编译它的每个字段。我的字符串是这样的:
出于编码目的,我被要求填写以下数据:
有人可以帮我吗?谢谢
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
怀疑这是因为:
- 我使用了错误的加密工具;和/或
- 我正在验证错误的数据(导致签名无法匹配)
欢迎大家指点