ここには同様の質問がたくさんありますが、読書の時間の後に私は私の解決策を見つけることができません。したがって:PEMファイルのnodejs jsonwebtoken:エラー "PEM_read_bio:開始行がありません"
jsonwebtokenを使用してJSON Webトークンに署名するためにjwk-to-pemを使用しようとしています。私は以前これを達成しましたが、今では同じコードが機能しません。 jwt.sign
を生成してpem
を呼び出した後、私はerror:0906D06C:PEM routines:PEM_read_bio:no start line
を得ます。 一般的な理由として、間違った改行(\r
など)や一般的に間違った形式が含まれることがあります。私は実際にはコアのnodejsコードを掘り出して、the lineがこのエラーを投げかけていることが分かりました。
数え切れないほどの調整と試行は解決できませんでした。具体的に:
- 私は、例えば、最初と最後の行ごとに異なる文字列を試してみました、すべての改行が
\n
- であることを確認しました
-----BEGIN PUBLIC KEY-----
または-----BEGIN RSA PUBLIC KEY-----
- 私は最後の行は、私は、ノードの
fs
を使用して、それをディスクにpem
文字列を記述しようとした再読み込み最後の文字として\n
- が含まれていることを確認しました。
- 私は
pem
ファイルをいくつかの他のファイルと比較しました。vi -b
または正規表現を使用します。私はLinuxツールを使用して、ランダムpem
ファイルを生成しにそれを与えることを試みたすべての他の列はノード - によって支持encouding
jwt.sign
からpem
コンテンツにRAWファイルバッファを渡すだけでなく、pem.toString('utf8')
ならびに試み jwt.sign
。具体的に:ssh-keygen -t rsa -b 2048 -f jwtRS256.key
openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.pem
私はここで何をしないのですか?これは私が考えなかった可能性のある原因は何ですか?