mirror of
https://github.com/hanzoai/node-jsonwebtoken.git
synced 2026-09-24 17:00:48 +00:00
Fix verify for RSAPublicKey formated keys
This commit is contained in:
@@ -111,7 +111,9 @@ module.exports.verify = function(jwtString, secretOrPublicKey, options, callback
|
||||
options.algorithms = ~secretOrPublicKey.toString().indexOf('BEGIN CERTIFICATE') ||
|
||||
~secretOrPublicKey.toString().indexOf('BEGIN PUBLIC KEY') ?
|
||||
[ 'RS256','RS384','RS512','ES256','ES384','ES512' ] :
|
||||
[ 'HS256','HS384','HS512' ];
|
||||
~secretOrPublicKey.toString().indexOf('BEGIN RSA PUBLIC KEY') ?
|
||||
[ 'RS256','RS384','RS512' ] :
|
||||
[ 'HS256','HS384','HS512' ];
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
-----BEGIN RSA PUBLIC KEY-----
|
||||
MIIBCgKCAQEAvzoCEC2rpSpJQaWZbUmlsDNwp83Jr4fi6KmBWIwnj1MZ6CUQ7rBa
|
||||
suLI8AcfX5/10scSfQNCsTLV2tMKQaHuvyrVfwY0dINk+nkqB74QcT2oCCH9XduJ
|
||||
jDuwWA4xLqAKuF96FsIes52opEM50W7/W7DZCKXkC8fFPFj6QF5ZzApDw2Qsu3yM
|
||||
Rmr7/W9uWeaTwfPx24YdY7Ah+fdLy3KN40vXv9c4xiSafVvnx9BwYL7H1Q8NiK9L
|
||||
GEN6+JSWfgckQCs6UUBOXSZdreNN9zbQCwyzee7bOJqXUDAuLcFARzPw1EsZAyjV
|
||||
tGCKIQ0/btqK+jFunT2NBC8RItanDZpptQIDAQAB
|
||||
-----END RSA PUBLIC KEY-----
|
||||
@@ -0,0 +1,15 @@
|
||||
var jwt = require('../');
|
||||
|
||||
describe('public key start with BEGIN RSA PUBLIC KEY', function () {
|
||||
|
||||
it('should work', function (done) {
|
||||
var fs = require('fs');
|
||||
var cert_pub = fs.readFileSync(__dirname + '/rsa-public-key.pem');
|
||||
var cert_priv = fs.readFileSync(__dirname + '/rsa-private.pem');
|
||||
|
||||
var token = jwt.sign({ foo: 'bar' }, cert_priv, { algorithm: 'RS256'});
|
||||
|
||||
jwt.verify(token, cert_pub, done);
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user