带有 PEM 文件的 nodejs jsonwebtoken:错误 "PEM_read_bio:no start line"

nodejs jsonwebtoken with PEM file: error "PEM_read_bio:no start line"

我知道这里有很多类似的问题,但经过几个小时的阅读,我找不到解决方案。所以:

我正在尝试使用 jwk-to-pem for signing a JSON web token using jsonwebtoken。我以前已经实现了这一点,但现在相同的代码不起作用。使用生成的 pem 调用 jwt.sign 后,我得到 error:0906D06C:PEM routines:PEM_read_bio:no start line。 我知道常见的原因包括 \r 之类的错误换行符或一般错误的格式。实际上,我什至深入研究了核心 nodejs 代码,发现 the line 抛出了这个错误。

无数次的调整和尝试都没有解决。具体来说:

我在这里错过了什么?这可能有哪些我没有想到的可能原因?

我找到了一个非常简单的解释:我错误地使用了 public 而不是私钥。 openssl/crypto 抛出的错误非常具有误导性。

使用私有 pem/key 签名按预期工作。