目的:我们拥有pfx文件,其内容认证为base64。我们想使用它用 SH256 算法对JWT(jsonwebtoken)进行签名,但是当我们尝试使用它时,会出错。
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
似乎我们对private.key错了,也许对密钥的头部和末端有误。这是我从pfx文件获取的私钥。
-----BEGIN CERTIFICATE-----
MIIF ****
-----END CERTIFICATE-----
我认为应该是这样的格式
-----BEGIN RSA PRIVATE KEY-----
MIIF ****
-----END RSA PRIVATE KEY-----
我手动更改了它,但是它不起作用。并且this post建议将算法更改为 H ,它可以工作,但要求使用 RS256 。 您认为我们需要将其从x509certificate转换为RSA吗?如果是的话,此命令的作用是什么?
我们正在使用nodejs,这是一行代码
jwt.sign(payload, **privatekey**, { algorithm: 'RS256' }, function(err, token) {
console.log("erro => ", err, " token => ", token)
});
无论如何,您是否有任何直接用pfx文件签名jwt令牌的想法?(我认为c#很容易做到)