错误:error:0909006C:PEMroutines:get_name:no start line

Posted

技术标签:

【中文标题】错误:error:0909006C:PEMroutines:get_name:no start line【英文标题】:Error: error:0909006C:PEM routines:get_name:no start line 【发布时间】:2020-09-22 05:14:15 【问题描述】:

我正在尝试使用 jsonwebtoken 验证 jwt。当我使用时:

jwt.verify(jwt, publicKey)

我得到一个:

JsonWebTokenError 名称:“JsonWebTokenError”,消息:“无效 算法”,堆栈:“JsonWebTokenError:无效算法

当我使用时:

jwt.verify(jwt, publicKey,  algorithms: 'RS256') 

我得到:

错误:错误:0909006C:PEM 例程:get_name:no start line

有什么想法吗?是否有替代方法来验证 jwt?

更新

问题可能出在 RS256 选择上。

【问题讨论】:

【参考方案1】:

从上面的示例中,您在验证函数中引用了 jwt 实例

使用链接npm-jsonwebtoken

您必须验证令牌,而不是 jwt 实例 示例

const jwt = require('jsonwebtoken')

var decoded = jwt.verify(token, 'private_key');

其中 'private_key' 是用于散列的确切密钥

【讨论】:

【参考方案2】:

尝试传递具有受众和发行者属性的选项对象。

let options = 
    clockTolerance: 60*24*10, 
    audience: "account",
    issuer: "https://login.someorganization/auth"
;

jwt.verify(jwt, publicKey, options);

【讨论】:

以上是关于错误:error:0909006C:PEMroutines:get_name:no start line的主要内容,如果未能解决你的问题,请参考以下文章

Informix 错误:发生了语法错误。错误代码:-201

我收到一个错误:“MetaMask - RPC 错误:错误:错误:[ethjs-rpc] rpc 错误与有效负载”

错误精灵错误跟踪器错误

网页打开显示错误500是啥意思

PHP错误处理

PHP的错误处理