【问题标题】:Decode EU covid passport with nodejs使用 nodejs 解码欧盟 covid 护照
【发布时间】:2021-07-25 14:10:29
【问题描述】:

我想尝试解码我​​的欧盟 covid 护照,并找到了这些 instructions for python。我试图在我更熟悉的nodejs中做到这一点

有一个 3 个阶段的过程

  • 解码 Base 45
  • 解压
  • 提取cos数据

我有下面的代码,但是 cose.encrypt.read 正在使用 catch 方法并出现错误Unknown tag, 18

有什么想法吗?

const base45 = require("base45");
const zlib = require("zlib");
const cose = require("cose-js");

passport =
    "HC1:NCFO...";

// removes HC1:
payload = passport.slice(4);

// returns buffer
const decoded = base45.decode(payload);

// Use inflate https://stackoverflow.com/questions/47652769/zlib-node-js-cant-extract-compressed-data-from-python
const decompressed = zlib.inflateSync(decoded);
console.log(decompressed);

cose.encrypt
    .read(decompressed)
    .then((buf) => {
        console.log("Protected message: " + buf.toString("utf8"));
    })
    .catch((error) => {
        console.log("!!", error);
    });

【问题讨论】:

  • 我也卡在了最后一步,但是我对node.js一无所知,我只知道浏览器javascript;我成功解码了 BASE45 字符串和 zlib 字符串,但是使用 CBOR.js 库解码结果字符串失败,有什么建议吗?
  • 我建议您打开一个新问题,详细了解您遇到的错误。我现在也许可以回答,因为我在理解事物方面取得了更大的进步,而且我也在浏览器中这样做
  • 目前我无权发布更多问题。

标签: node.js zlib base45


【解决方案1】:

我随后发现 https://dev.to/lmillucci/javascript-how-to-decode-the-greenpass-qr-code-3dh0 里面有一个有效的 nodejs 解决方案 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 2018-08-27
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2012-01-29
    相关资源
    最近更新 更多