diff --git a/index.js b/index.js index 680f139..356f6cb 100644 --- a/index.js +++ b/index.js @@ -388,6 +388,7 @@ function unpackJWS(signature, callback) { const payload = jsonParse(parts.payload); if (!payload) return callback(makeError('jws-payload-parse')); + payload.header = parts.header; // adding header information return callback(null, payload) } @@ -457,9 +458,10 @@ function fullValidateSignedAssertion(signature, callback) { return getLinkedResources(structures, callback); }, function verifySignature(resources, callback) { + algorithm = data.structures.assertion.header.alg; data.resources = resources; const publicKey = resources['assertion.verify.url']; - if (!jws.verify(signature, publicKey)) + if (!jws.verify(signature, algorithm, publicKey)) return callback(makeError('verify-signature')) return callback(null, resources); }, diff --git a/package.json b/package.json index 81ba746..6448e93 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dataurl": "~0.1.0", "request": "~2.14.0", "async": "~0.2.5", - "jws": "0.2.2", + "jws": "~3.1.0", "deep-equal": "0.0.0" }, "devDependencies": {