gpt4 book ai didi

node.js - OpenSSL Node.js 错误没有起始行

转载 作者:搜寻专家 更新时间:2023-11-01 00:37:19 24 4
gpt4 key购买 nike

我开始在 node.js 中为德国 Sparkasse(银行提供商)开发一个应用程序。他们为其服务提供 API。 German Link to their API

在第二步中,我从他们的服务器获得了一个 RSA-2048-SHA1 公钥。在第四步中,我应该使用该公钥来加密在步骤 3 中创建的 session key 。但是在使用以下方式加密时:

var key = 'password';
var sha256 = crypto.createHash('sha256');
sha256.update(key);
var iv = new Buffer([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);
var cipher = crypto.createCipheriv('aes-256-cbc', sha256.digest(), iv);
let sessionKey = cipher.final('base64')
let publicKey = response.publicKey.value
crypto.publicEncrypt(publicKey,new Buffer(sessionKey))

我收到以下错误消息,我认为它来自 OpenSSL。我真的不知道如何解决这个问题,因为我无法评估我从 API 获得的公钥是否有效。

Error: error:0906D06C:PEM routines:PEM_read_bio:no start line

最佳答案

您收到的公钥格式错误。它需要是“PEM”格式的 key 。您必须将其转换为“BEGIN ...”和“END...”行,并可能拆分为 64 个字符行。

这是一个格式正确的公钥示例:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAytBCDJR5/6JAlB7ErBge
22YwN/u0K63wrnCMLde+hQQCYs7pBuYtbyxXF2PBFuHS+ytD9PSpY9t3NiGbk/9U
s9GYCnqaK+vg2hz+T86LjJVkTJe0HWuE6g+HQ9GjyDGiO7ZBQw31HKxHYA2cMMVj
tiO97VKLR9Fp6c6X33uNtdAaUZg57PjyNl6TjPwc52tJz8H5g0aV4tYelsTMaSSE
4nVwPLBoDzZaT84ktW1RuGToC4gEB/bctFrRBVaxp/KSebpds9P2xGMVweWgrvml
cLnHGLKBxcCxh9kbgHS/nrgYXPjj92hxk2se/C7QmYeRSUs4ikEWO06NJ7Cgk+bQ
8wIDAQAB
-----END PUBLIC KEY-----

关于node.js - OpenSSL Node.js 错误没有起始行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46927119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com