Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Para saber mais: usando chaves públicas

Boa tarde! Alguém tentou fazer a prática que envolve chaves públicas? Ao executar o comando " node .\generate-keys.js " dá o erro abaixo:

PS D:\Práticas\Node.js e JWT autenticação com tokens\apis-rest-node-jwt-publicKey> node .\generate-keys.js internal/crypto/keygen.js:149 throw new ERR_INVALID_OPT_VALUE('privateKeyEncoding.passphrase', ^

TypeError [ERR_INVALID_OPT_VALUE]: The value "undefined" is invalid for option "privateKeyEncoding.passphrase" at parseKeyEncoding (internal/crypto/keygen.js:149:13) at check (internal/crypto/keygen.js:240:7) at generateKeyPair (internal/crypto/keygen.js:33:16) at Object. (D:\Práticas\Node.js e JWT autenticação com tokens\apis-rest-node-jwt-publicKey\generate-keys.js:16:1) at Module.compile (internal/modules/cjs/loader.js:701:30) at Object.Module.extensions..js (internal/modules/cjs/loader.js:712:10) at Module.load (internal/modules/cjs/loader.js:600:32) at tryModuleLoad (internal/modules/cjs/loader.js:539:12) at Function.Module._load (internal/modules/cjs/loader.js:531:3) at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)

3 respostas

Olá Aline, tudo bem?

Creio que esteja faltando um ")" após o seu passphrase.

PS D:\Práticas\Node.js e JWT autenticação com tokens\apis-rest-node-jwt-publicKey> node .\generate-keys.js internal/crypto/keygen.js:149 throw new ERR_INVALID_OPT_VALUE('privateKeyEncoding.passphrase', ^

troque para:

PS D:\Práticas\Node.js e JWT autenticação com tokens\apis-rest-node-jwt-publicKey> node .\generate-keys.js internal/crypto/keygen.js:149 throw new ERR_INVALID_OPT_VALUE('privateKeyEncoding.passphrase')

Abraços e bons estudos!

A classe que eu criei para gerar as chaves é a generate-keys.js, mas o erro que é apresentado é em alguma classe de alguma lib do node... não é algo que eu tenha modificado... No trace do erro diz que ocorre erro na internal/crypto/keygen.js:149 throw new ERR_INVALID_OPT_VALUE .. mas eu não modifiquei essa classe e não tenho acesso a alterar a mesma, nem encontro essa keygen.js nos meus fontes

solução!

O erro internal/crypto/keygen.js:149 throw new ERR_INVALID_OPT_VALUE ocorre por que eu estava pegando a senha de uma variável de ambiente.. exemplo:

const senha = process.env.CHAVE_JWT;

e depois eu usava ela nesse trecho abaixo que deixou de dá o erro quando passei a colocar um valor literal ex: const senha = 'senha secreta';

privateKeyEncoding: { type: 'pkcs8', format: 'pem', cipher: 'aes-256-cbc', passphrase: senha }

Vou pesquisar o que estou fazendo de errado, já que tinha entendido que dava para usar a senha, pegando da variável de ambiente.. tipo.. eu criei o arquivo .env

CHAVE_JWT="sKm81tdhXNr8HcMv2rajNDLxi/raLI/gXmSWEfnNpDn+WoE9c5j4ymPkuZW2MdEse9wLMb4OBskLjuxLiuEH0iYcuesgT65Cp7y4K6mDNKhN0DSKGu/jrqizO/m6WMWzQWDMAoS3MHy4X9XCzPzRHjabmg5JEsZ6n8zz1d2yPN8CuyWc9RUhiFA5i2PwhsZfO/8vvAEQeI/HXwcdUALUNIXFuUa6XDY6cFyJmk7+Vik6axeGMFgVavAjGtKX/tQWve+u5/+yyoGW6SaSHwTaVnwThxZ3dmfR+wR6db0RdJHSgE8qQ+UuDWsxgjnUZZdiQs9rXyJgtk6U3LTVlTgBSw=="

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software