aboutsummaryrefslogtreecommitdiffstats
path: root/backend/node_modules/ecdsa-sig-formatter
diff options
context:
space:
mode:
Diffstat (limited to 'backend/node_modules/ecdsa-sig-formatter')
-rw-r--r--backend/node_modules/ecdsa-sig-formatter/CODEOWNERS1
-rw-r--r--backend/node_modules/ecdsa-sig-formatter/LICENSE201
-rw-r--r--backend/node_modules/ecdsa-sig-formatter/README.md65
-rw-r--r--backend/node_modules/ecdsa-sig-formatter/package.json46
-rw-r--r--backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts17
-rw-r--r--backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js187
-rw-r--r--backend/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js23
7 files changed, 0 insertions, 540 deletions
diff --git a/backend/node_modules/ecdsa-sig-formatter/CODEOWNERS b/backend/node_modules/ecdsa-sig-formatter/CODEOWNERS
deleted file mode 100644
index 4451d3d..0000000
--- a/backend/node_modules/ecdsa-sig-formatter/CODEOWNERS
+++ /dev/null
@@ -1 +0,0 @@
-* @omsmith
diff --git a/backend/node_modules/ecdsa-sig-formatter/LICENSE b/backend/node_modules/ecdsa-sig-formatter/LICENSE
deleted file mode 100644
index 8754ed6..0000000
--- a/backend/node_modules/ecdsa-sig-formatter/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
-Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "{}"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright 2015 D2L Corporation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/backend/node_modules/ecdsa-sig-formatter/README.md b/backend/node_modules/ecdsa-sig-formatter/README.md
deleted file mode 100644
index daa95d6..0000000
--- a/backend/node_modules/ecdsa-sig-formatter/README.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# ecdsa-sig-formatter
-
-[![Build Status](https://travis-ci.org/Brightspace/node-ecdsa-sig-formatter.svg?branch=master)](https://travis-ci.org/Brightspace/node-ecdsa-sig-formatter) [![Coverage Status](https://coveralls.io/repos/Brightspace/node-ecdsa-sig-formatter/badge.svg)](https://coveralls.io/r/Brightspace/node-ecdsa-sig-formatter)
-
-Translate between JOSE and ASN.1/DER encodings for ECDSA signatures
-
-## Install
-```sh
-npm install ecdsa-sig-formatter --save
-```
-
-## Usage
-```js
-var format = require('ecdsa-sig-formatter');
-
-var derSignature = '..'; // asn.1/DER encoded ecdsa signature
-
-var joseSignature = format.derToJose(derSignature);
-
-```
-
-### API
-
----
-
-#### `.derToJose(Buffer|String signature, String alg)` -> `String`
-
-Convert the ASN.1/DER encoded signature to a JOSE-style concatenated signature.
-Returns a _base64 url_ encoded `String`.
-
-* If _signature_ is a `String`, it should be _base64_ encoded
-* _alg_ must be one of _ES256_, _ES384_ or _ES512_
-
----
-
-#### `.joseToDer(Buffer|String signature, String alg)` -> `Buffer`
-
-Convert the JOSE-style concatenated signature to an ASN.1/DER encoded
-signature. Returns a `Buffer`
-
-* If _signature_ is a `String`, it should be _base64 url_ encoded
-* _alg_ must be one of _ES256_, _ES384_ or _ES512_
-
-## Contributing
-
-1. **Fork** the repository. Committing directly against this repository is
- highly discouraged.
-
-2. Make your modifications in a branch, updating and writing new unit tests
- as necessary in the `spec` directory.
-
-3. Ensure that all tests pass with `npm test`
-
-4. `rebase` your changes against master. *Do not merge*.
-
-5. Submit a pull request to this repository. Wait for tests to run and someone
- to chime in.
-
-### Code Style
-
-This repository is configured with [EditorConfig][EditorConfig] and
-[ESLint][ESLint] rules.
-
-[EditorConfig]: http://editorconfig.org/
-[ESLint]: http://eslint.org
diff --git a/backend/node_modules/ecdsa-sig-formatter/package.json b/backend/node_modules/ecdsa-sig-formatter/package.json
deleted file mode 100644
index 6fb5ebf..0000000
--- a/backend/node_modules/ecdsa-sig-formatter/package.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "ecdsa-sig-formatter",
- "version": "1.0.11",
- "description": "Translate ECDSA signatures between ASN.1/DER and JOSE-style concatenation",
- "main": "src/ecdsa-sig-formatter.js",
- "scripts": {
- "check-style": "eslint .",
- "pretest": "npm run check-style",
- "test": "istanbul cover --root src _mocha -- spec",
- "report-cov": "cat ./coverage/lcov.info | coveralls"
- },
- "typings": "./src/ecdsa-sig-formatter.d.ts",
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/Brightspace/node-ecdsa-sig-formatter.git"
- },
- "keywords": [
- "ecdsa",
- "der",
- "asn.1",
- "jwt",
- "jwa",
- "jsonwebtoken",
- "jose"
- ],
- "author": "D2L Corporation",
- "license": "Apache-2.0",
- "bugs": {
- "url": "https://github.com/Brightspace/node-ecdsa-sig-formatter/issues"
- },
- "homepage": "https://github.com/Brightspace/node-ecdsa-sig-formatter#readme",
- "dependencies": {
- "safe-buffer": "^5.0.1"
- },
- "devDependencies": {
- "bench": "^0.3.6",
- "chai": "^3.5.0",
- "coveralls": "^2.11.9",
- "eslint": "^2.12.0",
- "eslint-config-brightspace": "^0.2.1",
- "istanbul": "^0.4.3",
- "jwk-to-pem": "^1.2.5",
- "mocha": "^2.5.3",
- "native-crypto": "^1.7.0"
- }
-}
diff --git a/backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts b/backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts
deleted file mode 100644
index 9693aa0..0000000
--- a/backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/// <reference types="node" />
-
-declare module "ecdsa-sig-formatter" {
- /**
- * Convert the ASN.1/DER encoded signature to a JOSE-style concatenated signature. Returns a base64 url encoded String.
- * If signature is a String, it should be base64 encoded
- * alg must be one of ES256, ES384 or ES512
- */
- export function derToJose(signature: Buffer | string, alg: string): string;
-
- /**
- * Convert the JOSE-style concatenated signature to an ASN.1/DER encoded signature. Returns a Buffer
- * If signature is a String, it should be base64 url encoded
- * alg must be one of ES256, ES384 or ES512
- */
- export function joseToDer(signature: Buffer | string, alg: string): Buffer
-}
diff --git a/backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js b/backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js
deleted file mode 100644
index 38eeb9b..0000000
--- a/backend/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js
+++ /dev/null
@@ -1,187 +0,0 @@
-'use strict';
-
-var Buffer = require('safe-buffer').Buffer;
-
-var getParamBytesForAlg = require('./param-bytes-for-alg');
-
-var MAX_OCTET = 0x80,
- CLASS_UNIVERSAL = 0,
- PRIMITIVE_BIT = 0x20,
- TAG_SEQ = 0x10,
- TAG_INT = 0x02,
- ENCODED_TAG_SEQ = (TAG_SEQ | PRIMITIVE_BIT) | (CLASS_UNIVERSAL << 6),
- ENCODED_TAG_INT = TAG_INT | (CLASS_UNIVERSAL << 6);
-
-function base64Url(base64) {
- return base64
- .replace(/=/g, '')
- .replace(/\+/g, '-')
- .replace(/\//g, '_');
-}
-
-function signatureAsBuffer(signature) {
- if (Buffer.isBuffer(signature)) {
- return signature;
- } else if ('string' === typeof signature) {
- return Buffer.from(signature, 'base64');
- }
-
- throw new TypeError('ECDSA signature must be a Base64 string or a Buffer');
-}
-
-function derToJose(signature, alg) {
- signature = signatureAsBuffer(signature);
- var paramBytes = getParamBytesForAlg(alg);
-
- // the DER encoded param should at most be the param size, plus a padding
- // zero, since due to being a signed integer
- var maxEncodedParamLength = paramBytes + 1;
-
- var inputLength = signature.length;
-
- var offset = 0;
- if (signature[offset++] !== ENCODED_TAG_SEQ) {
- throw new Error('Could not find expected "seq"');
- }
-
- var seqLength = signature[offset++];
- if (seqLength === (MAX_OCTET | 1)) {
- seqLength = signature[offset++];
- }
-
- if (inputLength - offset < seqLength) {
- throw new Error('"seq" specified length of "' + seqLength + '", only "' + (inputLength - offset) + '" remaining');
- }
-
- if (signature[offset++] !== ENCODED_TAG_INT) {
- throw new Error('Could not find expected "int" for "r"');
- }
-
- var rLength = signature[offset++];
-
- if (inputLength - offset - 2 < rLength) {
- throw new Error('"r" specified length of "' + rLength + '", only "' + (inputLength - offset - 2) + '" available');
- }
-
- if (maxEncodedParamLength < rLength) {
- throw new Error('"r" specified length of "' + rLength + '", max of "' + maxEncodedParamLength + '" is acceptable');
- }
-
- var rOffset = offset;
- offset += rLength;
-
- if (signature[offset++] !== ENCODED_TAG_INT) {
- throw new Error('Could not find expected "int" for "s"');
- }
-
- var sLength = signature[offset++];
-
- if (inputLength - offset !== sLength) {
- throw new Error('"s" specified length of "' + sLength + '", expected "' + (inputLength - offset) + '"');
- }
-
- if (maxEncodedParamLength < sLength) {
- throw new Error('"s" specified length of "' + sLength + '", max of "' + maxEncodedParamLength + '" is acceptable');
- }
-
- var sOffset = offset;
- offset += sLength;
-
- if (offset !== inputLength) {
- throw new Error('Expected to consume entire buffer, but "' + (inputLength - offset) + '" bytes remain');
- }
-
- var rPadding = paramBytes - rLength,
- sPadding = paramBytes - sLength;
-
- var dst = Buffer.allocUnsafe(rPadding + rLength + sPadding + sLength);
-
- for (offset = 0; offset < rPadding; ++offset) {
- dst[offset] = 0;
- }
- signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength);
-
- offset = paramBytes;
-
- for (var o = offset; offset < o + sPadding; ++offset) {
- dst[offset] = 0;
- }
- signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength);
-
- dst = dst.toString('base64');
- dst = base64Url(dst);
-
- return dst;
-}
-
-function countPadding(buf, start, stop) {
- var padding = 0;
- while (start + padding < stop && buf[start + padding] === 0) {
- ++padding;
- }
-
- var needsSign = buf[start + padding] >= MAX_OCTET;
- if (needsSign) {
- --padding;
- }
-
- return padding;
-}
-
-function joseToDer(signature, alg) {
- signature = signatureAsBuffer(signature);
- var paramBytes = getParamBytesForAlg(alg);
-
- var signatureBytes = signature.length;
- if (signatureBytes !== paramBytes * 2) {
- throw new TypeError('"' + alg + '" signatures must be "' + paramBytes * 2 + '" bytes, saw "' + signatureBytes + '"');
- }
-
- var rPadding = countPadding(signature, 0, paramBytes);
- var sPadding = countPadding(signature, paramBytes, signature.length);
- var rLength = paramBytes - rPadding;
- var sLength = paramBytes - sPadding;
-
- var rsBytes = 1 + 1 + rLength + 1 + 1 + sLength;
-
- var shortLength = rsBytes < MAX_OCTET;
-
- var dst = Buffer.allocUnsafe((shortLength ? 2 : 3) + rsBytes);
-
- var offset = 0;
- dst[offset++] = ENCODED_TAG_SEQ;
- if (shortLength) {
- // Bit 8 has value "0"
- // bits 7-1 give the length.
- dst[offset++] = rsBytes;
- } else {
- // Bit 8 of first octet has value "1"
- // bits 7-1 give the number of additional length octets.
- dst[offset++] = MAX_OCTET | 1;
- // length, base 256
- dst[offset++] = rsBytes & 0xff;
- }
- dst[offset++] = ENCODED_TAG_INT;
- dst[offset++] = rLength;
- if (rPadding < 0) {
- dst[offset++] = 0;
- offset += signature.copy(dst, offset, 0, paramBytes);
- } else {
- offset += signature.copy(dst, offset, rPadding, paramBytes);
- }
- dst[offset++] = ENCODED_TAG_INT;
- dst[offset++] = sLength;
- if (sPadding < 0) {
- dst[offset++] = 0;
- signature.copy(dst, offset, paramBytes);
- } else {
- signature.copy(dst, offset, paramBytes + sPadding);
- }
-
- return dst;
-}
-
-module.exports = {
- derToJose: derToJose,
- joseToDer: joseToDer
-};
diff --git a/backend/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js b/backend/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
deleted file mode 100644
index 9fe67ac..0000000
--- a/backend/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict';
-
-function getParamSize(keySize) {
- var result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1);
- return result;
-}
-
-var paramBytesForAlg = {
- ES256: getParamSize(256),
- ES384: getParamSize(384),
- ES512: getParamSize(521)
-};
-
-function getParamBytesForAlg(alg) {
- var paramBytes = paramBytesForAlg[alg];
- if (paramBytes) {
- return paramBytes;
- }
-
- throw new Error('Unknown algorithm "' + alg + '"');
-}
-
-module.exports = getParamBytesForAlg;