diff --git a/CHANGELOG.md b/CHANGELOG.md index a337044fad..04b6b3a282 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [1.22.1](https://github.com/panva/jose/compare/v1.22.0...v1.22.1) (2020-02-03) + + +### Bug Fixes + +* actually remove the base64url proper encoding check ([eae01b5](https://github.com/panva/jose/commit/eae01b57ab9f33e8c621ffcd2a77d513a51d22b2)) + + + # [1.22.0](https://github.com/panva/jose/compare/v1.21.1...v1.22.0) (2020-01-29) diff --git a/lib/help/base64url.js b/lib/help/base64url.js index 29467146cd..0aded8da15 100644 --- a/lib/help/base64url.js +++ b/lib/help/base64url.js @@ -1,7 +1,3 @@ -const { JOSEInvalidEncoding } = require('../errors') - -const b64uRegExp = /^[a-zA-Z0-9_-]*$/ - const fromBase64 = (base64) => { return base64.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_') } @@ -15,10 +11,6 @@ const encodeBuffer = (buf) => { } const decodeToBuffer = (input) => { - if (!b64uRegExp.test(input)) { - throw new JOSEInvalidEncoding('input is not a valid base64url encoded string') - } - return Buffer.from(input, 'base64') } diff --git a/lib/jwa/ecdsa.js b/lib/jwa/ecdsa.js index db9645dfa8..1258afcdb5 100644 --- a/lib/jwa/ecdsa.js +++ b/lib/jwa/ecdsa.js @@ -13,13 +13,6 @@ if (dsaEncodingSupported) { sign = (jwaAlg, nodeAlg, { [KEYOBJECT]: keyObject }, payload) => { return signOneShot(nodeAlg, payload, { key: asInput(keyObject, false), dsaEncoding: 'ieee-p1363' }) } -} else { - sign = (jwaAlg, nodeAlg, { [KEYOBJECT]: keyObject }, payload) => { - return derToJose(createSign(nodeAlg).update(payload).sign(asInput(keyObject, false)), jwaAlg) - } -} - -if (dsaEncodingSupported) { verify = (jwaAlg, nodeAlg, { [KEYOBJECT]: keyObject }, payload, signature) => { try { return verifyOneShot(nodeAlg, payload, { key: asInput(keyObject, true), dsaEncoding: 'ieee-p1363' }, signature) @@ -28,6 +21,9 @@ if (dsaEncodingSupported) { } } } else { + sign = (jwaAlg, nodeAlg, { [KEYOBJECT]: keyObject }, payload) => { + return derToJose(createSign(nodeAlg).update(payload).sign(asInput(keyObject, false)), jwaAlg) + } verify = (jwaAlg, nodeAlg, { [KEYOBJECT]: keyObject }, payload, signature) => { try { return createVerify(nodeAlg).update(payload).verify(asInput(keyObject, true), joseToDer(signature, jwaAlg)) diff --git a/package.json b/package.json index 59d55e6b8e..100b41ab1d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jose", - "version": "1.22.0", + "version": "1.22.1", "description": "JSON Web Almost Everything - JWA, JWS, JWE, JWK, JWT, JWKS for Node.js with minimal dependencies", "keywords": [ "access token",