@sphereon/oid4vci-common 0.8.2-unstable.43 → 0.8.2-unstable.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ import { SupportedEncodings } from 'uint8arrays/to-string';
2
+ import { CodeChallengeMethod } from '../types';
3
+ export declare const CODE_VERIFIER_DEFAULT_LENGTH = 128;
4
+ export declare const NONCE_LENGTH = 32;
5
+ export declare const generateRandomString: (length: number, encoding?: SupportedEncodings) => string;
6
+ export declare const generateNonce: (length?: number) => string;
7
+ export declare const generateCodeVerifier: (length?: number) => string;
8
+ export declare const createCodeChallenge: (codeVerifier: string, codeChallengeMethod?: CodeChallengeMethod) => string;
9
+ export declare const assertValidCodeVerifier: (codeVerifier: string) => void;
10
+ //# sourceMappingURL=RandomUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RandomUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/RandomUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAI/C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,eAAO,MAAM,oBAAoB,WAAY,MAAM,aAAa,kBAAkB,KAAG,MAEpF,CAAC;AAEF,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAE/C,CAAC;AACF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,MAItD,CAAC;AAEF,eAAO,MAAM,mBAAmB,iBAAkB,MAAM,wBAAwB,mBAAmB,KAAG,MASrG,CAAC;AAEF,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,SAO3D,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.assertValidCodeVerifier = exports.createCodeChallenge = exports.generateCodeVerifier = exports.generateNonce = exports.generateRandomString = exports.NONCE_LENGTH = exports.CODE_VERIFIER_DEFAULT_LENGTH = void 0;
30
+ const sha_js_1 = __importDefault(require("sha.js"));
31
+ const u8a = __importStar(require("uint8arrays"));
32
+ const types_1 = require("../types");
33
+ const randomBytes_1 = require("./randomBytes");
34
+ exports.CODE_VERIFIER_DEFAULT_LENGTH = 128;
35
+ exports.NONCE_LENGTH = 32;
36
+ const generateRandomString = (length, encoding) => {
37
+ return u8a.toString((0, randomBytes_1.randomBytes)(length), encoding).slice(0, length);
38
+ };
39
+ exports.generateRandomString = generateRandomString;
40
+ const generateNonce = (length) => {
41
+ return (0, exports.generateRandomString)(length !== null && length !== void 0 ? length : exports.NONCE_LENGTH);
42
+ };
43
+ exports.generateNonce = generateNonce;
44
+ const generateCodeVerifier = (length) => {
45
+ const codeVerifier = (0, exports.generateRandomString)(length !== null && length !== void 0 ? length : exports.CODE_VERIFIER_DEFAULT_LENGTH, 'base64url');
46
+ (0, exports.assertValidCodeVerifier)(codeVerifier);
47
+ return codeVerifier;
48
+ };
49
+ exports.generateCodeVerifier = generateCodeVerifier;
50
+ const createCodeChallenge = (codeVerifier, codeChallengeMethod) => {
51
+ if (codeChallengeMethod === types_1.CodeChallengeMethod.plain) {
52
+ return codeVerifier;
53
+ }
54
+ else if (!codeChallengeMethod || codeChallengeMethod === types_1.CodeChallengeMethod.S256) {
55
+ return u8a.toString((0, sha_js_1.default)('sha256').update(codeVerifier).digest(), 'base64url');
56
+ }
57
+ else {
58
+ // Just a precaution if a new method would be introduced
59
+ throw Error(`code challenge method ${codeChallengeMethod} not implemented`);
60
+ }
61
+ };
62
+ exports.createCodeChallenge = createCodeChallenge;
63
+ const assertValidCodeVerifier = (codeVerifier) => {
64
+ const length = codeVerifier.length;
65
+ if (length < 43) {
66
+ throw Error(`code_verifier should have a minimum length of 43; see rfc7636`);
67
+ }
68
+ else if (length > 128) {
69
+ throw Error(`code_verifier should have a maximum length of 128; see rfc7636`);
70
+ }
71
+ };
72
+ exports.assertValidCodeVerifier = assertValidCodeVerifier;
73
+ //# sourceMappingURL=RandomUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RandomUtils.js","sourceRoot":"","sources":["../../lib/functions/RandomUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAyB;AACzB,iDAAmC;AAGnC,oCAA+C;AAE/C,+CAA4C;AAE/B,QAAA,4BAA4B,GAAG,GAAG,CAAC;AACnC,QAAA,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,QAA6B,EAAU,EAAE;IAC5F,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtE,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B;AAEK,MAAM,aAAa,GAAG,CAAC,MAAe,EAAU,EAAE;IACvD,OAAO,IAAA,4BAAoB,EAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,oBAAY,CAAC,CAAC;AACtD,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AACK,MAAM,oBAAoB,GAAG,CAAC,MAAe,EAAU,EAAE;IAC9D,MAAM,YAAY,GAAG,IAAA,4BAAoB,EAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,oCAA4B,EAAE,WAAW,CAAC,CAAC;IAC/F,IAAA,+BAAuB,EAAC,YAAY,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,mBAAmB,GAAG,CAAC,YAAoB,EAAE,mBAAyC,EAAU,EAAE;IAC7G,IAAI,mBAAmB,KAAK,2BAAmB,CAAC,KAAK,EAAE,CAAC;QACtD,OAAO,YAAY,CAAC;IACtB,CAAC;SAAM,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,KAAK,2BAAmB,CAAC,IAAI,EAAE,CAAC;QACpF,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAA,gBAAG,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,MAAM,KAAK,CAAC,yBAAyB,mBAAmB,kBAAkB,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AATW,QAAA,mBAAmB,uBAS9B;AAEK,MAAM,uBAAuB,GAAG,CAAC,YAAoB,EAAE,EAAE;IAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC,+DAA+D,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAChF,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,uBAAuB,2BAOlC"}
@@ -1,3 +1,4 @@
1
+ import { randomBytes } from './randomBytes.js';
1
2
  export * from './CredentialRequestUtil';
2
3
  export * from './CredentialResponseUtil';
3
4
  export * from './CredentialOfferUtil';
@@ -5,4 +6,6 @@ export * from './Encoding';
5
6
  export * from './TypeConversionUtils';
6
7
  export * from './IssuerMetadataUtils';
7
8
  export * from './FormatUtils';
9
+ export { randomBytes };
10
+ export * from './RandomUtils';
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -14,6 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.randomBytes = void 0;
18
+ const randomBytes_js_1 = require("./randomBytes.js");
19
+ Object.defineProperty(exports, "randomBytes", { enumerable: true, get: function () { return randomBytes_js_1.randomBytes; } });
17
20
  __exportStar(require("./CredentialRequestUtil"), exports);
18
21
  __exportStar(require("./CredentialResponseUtil"), exports);
19
22
  __exportStar(require("./CredentialOfferUtil"), exports);
@@ -21,4 +24,5 @@ __exportStar(require("./Encoding"), exports);
21
24
  __exportStar(require("./TypeConversionUtils"), exports);
22
25
  __exportStar(require("./IssuerMetadataUtils"), exports);
23
26
  __exportStar(require("./FormatUtils"), exports);
27
+ __exportStar(require("./RandomUtils"), exports);
24
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,2DAAyC;AACzC,wDAAsC;AACtC,6CAA2B;AAC3B,wDAAsC;AACtC,wDAAsC;AACtC,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA+C;AAQtC,4FARA,4BAAW,OAQA;AAPpB,0DAAwC;AACxC,2DAAyC;AACzC,wDAAsC;AACtC,6CAA2B;AAC3B,wDAAsC;AACtC,wDAAsC;AACtC,gDAA8B;AAE9B,gDAA8B"}
@@ -0,0 +1,7 @@
1
+ export = oldBrowser;
2
+ declare function oldBrowser(): void;
3
+ declare namespace oldBrowser {
4
+ export { randomBytes };
5
+ }
6
+ declare function randomBytes(size: any): Uint8Array;
7
+ //# sourceMappingURL=randomBytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomBytes.d.ts","sourceRoot":"","sources":["../../lib/functions/randomBytes.js"],"names":[],"mappings":";AAUA,oCAEC;;;;AAuBD,oDAsBC"}
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+ // limit of Crypto.getRandomValues()
3
+ // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
4
+ const MAX_BYTES = 65536;
5
+ // Node supports requesting up to this number of bytes
6
+ // https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48
7
+ const MAX_UINT32 = 4294967295;
8
+ function oldBrowser() {
9
+ throw new Error('Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11');
10
+ }
11
+ // eslint-disable-next-line no-undef
12
+ const _global = typeof globalThis !== 'undefined' ? globalThis : global;
13
+ let crypto = _global.crypto || _global.msCrypto;
14
+ if (!crypto) {
15
+ try {
16
+ // eslint-disable-next-line no-undef
17
+ crypto = require('crypto');
18
+ }
19
+ catch (err) {
20
+ throw Error('crypto module is not available');
21
+ }
22
+ }
23
+ if (crypto && crypto.getRandomValues) {
24
+ // eslint-disable-next-line no-undef
25
+ module.exports = randomBytes;
26
+ }
27
+ else {
28
+ // eslint-disable-next-line no-undef
29
+ module.exports = oldBrowser;
30
+ }
31
+ function randomBytes(size) {
32
+ // phantomjs needs to throw
33
+ if (size > MAX_UINT32)
34
+ throw new Error('requested too many random bytes');
35
+ // eslint-disable-next-line no-undef
36
+ const bytes = Buffer.allocUnsafe(size);
37
+ if (size > 0) {
38
+ // getRandomValues fails on IE if size == 0
39
+ if (size > MAX_BYTES) {
40
+ // this is the max bytes crypto.getRandomValues
41
+ // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
42
+ for (let generated = 0; generated < size; generated += MAX_BYTES) {
43
+ // buffer.slice automatically checks if the end is past the end of
44
+ // the buffer so we don't have to here
45
+ crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));
46
+ }
47
+ }
48
+ else {
49
+ crypto.getRandomValues(bytes);
50
+ }
51
+ }
52
+ return Uint8Array.from(bytes);
53
+ }
54
+ // eslint-disable-next-line no-undef
55
+ module.exports = { randomBytes };
56
+ //# sourceMappingURL=randomBytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"randomBytes.js","sourceRoot":"","sources":["../../lib/functions/randomBytes.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,oCAAoC;AACpC,0EAA0E;AAC1E,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,sDAAsD;AACtD,+EAA+E;AAC/E,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B,SAAS,UAAU;IACjB,MAAM,IAAI,KAAK,CAAC,gHAAgH,CAAC,CAAC;AACpI,CAAC;AAED,oCAAoC;AACpC,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;AAExE,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC;AAChD,IAAI,CAAC,MAAM,EAAE,CAAC;IACZ,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,IAAI,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;IACrC,oCAAoC;IACpC,MAAM,CAAC,OAAO,GAAG,WAAW,CAAC;AAC/B,CAAC;KAAM,CAAC;IACN,oCAAoC;IACpC,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAC,IAAI;IACvB,2BAA2B;IAC3B,IAAI,IAAI,GAAG,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAE1E,oCAAoC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,2CAA2C;QAC3C,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC;YACrB,+CAA+C;YAC/C,oGAAoG;YACpG,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC;gBACjE,kEAAkE;gBAClE,sCAAsC;gBACtC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,oCAAoC;AACpC,MAAM,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,CAAC"}
@@ -133,8 +133,8 @@ export declare enum ResponseType {
133
133
  AUTH_CODE = "code"
134
134
  }
135
135
  export declare enum CodeChallengeMethod {
136
- TEXT = "text",
137
- SHA256 = "S256"
136
+ plain = "plain",
137
+ S256 = "S256"
138
138
  }
139
139
  export interface AuthorizationServerOpts {
140
140
  allowInsecureEndpoints?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,8 @@ var ResponseType;
19
19
  })(ResponseType || (exports.ResponseType = ResponseType = {}));
20
20
  var CodeChallengeMethod;
21
21
  (function (CodeChallengeMethod) {
22
- CodeChallengeMethod["TEXT"] = "text";
23
- CodeChallengeMethod["SHA256"] = "S256";
22
+ CodeChallengeMethod["plain"] = "plain";
23
+ CodeChallengeMethod["S256"] = "S256";
24
24
  })(CodeChallengeMethod || (exports.CodeChallengeMethod = CodeChallengeMethod = {}));
25
25
  var AuthzFlowType;
26
26
  (function (AuthzFlowType) {
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAMyB;AA0IzB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,sCAAe,CAAA;AACjB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAsED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oEAAmD,CAAA;IACnD,sEAAqD,CAAA;AACvD,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,2DAA2D;AAC3D,WAAiB,aAAa;IAC5B,SAAgB,OAAO,CAAC,OAA+B;QACrD,IAAI,qCAAqB,IAAI,OAAO,EAAE,CAAC;YACrC,OAAO,aAAa,CAAC,wBAAwB,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,uBAAuB,CAAC;IAC/C,CAAC;IALe,qBAAO,UAKtB,CAAA;AACH,CAAC,EAPgB,aAAa,6BAAb,aAAa,QAO7B"}
1
+ {"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAMyB;AA0IzB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,4BAAZ,YAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B;AAsED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oEAAmD,CAAA;IACnD,sEAAqD,CAAA;AACvD,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAED,2DAA2D;AAC3D,WAAiB,aAAa;IAC5B,SAAgB,OAAO,CAAC,OAA+B;QACrD,IAAI,qCAAqB,IAAI,OAAO,EAAE,CAAC;YACrC,OAAO,aAAa,CAAC,wBAAwB,CAAC;QAChD,CAAC;QACD,OAAO,aAAa,CAAC,uBAAuB,CAAC;IAC/C,CAAC;IALe,qBAAO,UAKtB,CAAA;AACH,CAAC,EAPgB,aAAa,6BAAb,aAAa,QAO7B"}
@@ -0,0 +1,15 @@
1
+ import { randomBytes } from '../functions';
2
+
3
+ import { UNIT_TEST_TIMEOUT } from './CredentialOfferUtil.spec';
4
+
5
+ describe('randomBytes should', () => {
6
+ it(
7
+ 'generate random bytes of length 32',
8
+ () => {
9
+ const bytes = randomBytes(32);
10
+ expect(bytes).toBeDefined();
11
+ expect(bytes.length).toEqual(32);
12
+ },
13
+ UNIT_TEST_TIMEOUT,
14
+ );
15
+ });
@@ -0,0 +1,43 @@
1
+ import SHA from 'sha.js';
2
+ import * as u8a from 'uint8arrays';
3
+ import { SupportedEncodings } from 'uint8arrays/to-string';
4
+
5
+ import { CodeChallengeMethod } from '../types';
6
+
7
+ import { randomBytes } from './randomBytes';
8
+
9
+ export const CODE_VERIFIER_DEFAULT_LENGTH = 128;
10
+ export const NONCE_LENGTH = 32;
11
+
12
+ export const generateRandomString = (length: number, encoding?: SupportedEncodings): string => {
13
+ return u8a.toString(randomBytes(length), encoding).slice(0, length);
14
+ };
15
+
16
+ export const generateNonce = (length?: number): string => {
17
+ return generateRandomString(length ?? NONCE_LENGTH);
18
+ };
19
+ export const generateCodeVerifier = (length?: number): string => {
20
+ const codeVerifier = generateRandomString(length ?? CODE_VERIFIER_DEFAULT_LENGTH, 'base64url');
21
+ assertValidCodeVerifier(codeVerifier);
22
+ return codeVerifier;
23
+ };
24
+
25
+ export const createCodeChallenge = (codeVerifier: string, codeChallengeMethod?: CodeChallengeMethod): string => {
26
+ if (codeChallengeMethod === CodeChallengeMethod.plain) {
27
+ return codeVerifier;
28
+ } else if (!codeChallengeMethod || codeChallengeMethod === CodeChallengeMethod.S256) {
29
+ return u8a.toString(SHA('sha256').update(codeVerifier).digest(), 'base64url');
30
+ } else {
31
+ // Just a precaution if a new method would be introduced
32
+ throw Error(`code challenge method ${codeChallengeMethod} not implemented`);
33
+ }
34
+ };
35
+
36
+ export const assertValidCodeVerifier = (codeVerifier: string) => {
37
+ const length = codeVerifier.length;
38
+ if (length < 43) {
39
+ throw Error(`code_verifier should have a minimum length of 43; see rfc7636`);
40
+ } else if (length > 128) {
41
+ throw Error(`code_verifier should have a maximum length of 128; see rfc7636`);
42
+ }
43
+ };
@@ -1,3 +1,4 @@
1
+ import { randomBytes } from './randomBytes.js';
1
2
  export * from './CredentialRequestUtil';
2
3
  export * from './CredentialResponseUtil';
3
4
  export * from './CredentialOfferUtil';
@@ -5,3 +6,5 @@ export * from './Encoding';
5
6
  export * from './TypeConversionUtils';
6
7
  export * from './IssuerMetadataUtils';
7
8
  export * from './FormatUtils';
9
+ export { randomBytes };
10
+ export * from './RandomUtils';
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ // limit of Crypto.getRandomValues()
4
+ // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
5
+ const MAX_BYTES = 65536;
6
+
7
+ // Node supports requesting up to this number of bytes
8
+ // https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48
9
+ const MAX_UINT32 = 4294967295;
10
+
11
+ function oldBrowser() {
12
+ throw new Error('Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11');
13
+ }
14
+
15
+ // eslint-disable-next-line no-undef
16
+ const _global = typeof globalThis !== 'undefined' ? globalThis : global;
17
+
18
+ let crypto = _global.crypto || _global.msCrypto;
19
+ if (!crypto) {
20
+ try {
21
+ // eslint-disable-next-line no-undef
22
+ crypto = require('crypto');
23
+ } catch (err) {
24
+ throw Error('crypto module is not available');
25
+ }
26
+ }
27
+
28
+ if (crypto && crypto.getRandomValues) {
29
+ // eslint-disable-next-line no-undef
30
+ module.exports = randomBytes;
31
+ } else {
32
+ // eslint-disable-next-line no-undef
33
+ module.exports = oldBrowser;
34
+ }
35
+
36
+ function randomBytes(size) {
37
+ // phantomjs needs to throw
38
+ if (size > MAX_UINT32) throw new Error('requested too many random bytes');
39
+
40
+ // eslint-disable-next-line no-undef
41
+ const bytes = Buffer.allocUnsafe(size);
42
+
43
+ if (size > 0) {
44
+ // getRandomValues fails on IE if size == 0
45
+ if (size > MAX_BYTES) {
46
+ // this is the max bytes crypto.getRandomValues
47
+ // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
48
+ for (let generated = 0; generated < size; generated += MAX_BYTES) {
49
+ // buffer.slice automatically checks if the end is past the end of
50
+ // the buffer so we don't have to here
51
+ crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));
52
+ }
53
+ } else {
54
+ crypto.getRandomValues(bytes);
55
+ }
56
+ }
57
+ return Uint8Array.from(bytes);
58
+ }
59
+
60
+ // eslint-disable-next-line no-undef
61
+ module.exports = { randomBytes };
@@ -159,8 +159,8 @@ export enum ResponseType {
159
159
  }
160
160
 
161
161
  export enum CodeChallengeMethod {
162
- TEXT = 'text',
163
- SHA256 = 'S256',
162
+ plain = 'plain',
163
+ S256 = 'S256',
164
164
  }
165
165
 
166
166
  export interface AuthorizationServerOpts {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-common",
3
- "version": "0.8.2-unstable.43+a8ea635",
3
+ "version": "0.8.2-unstable.49+ea31c2b",
4
4
  "description": "OpenID 4 Verifiable Credential Issuance Common Types",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -12,12 +12,23 @@
12
12
  "dependencies": {
13
13
  "@sphereon/ssi-types": "^0.18.1",
14
14
  "cross-fetch": "^3.1.8",
15
- "jwt-decode": "^3.1.2"
15
+ "jwt-decode": "^3.1.2",
16
+ "sha.js": "^2.4.11",
17
+ "uint8arrays": "3.1.1"
16
18
  },
17
19
  "devDependencies": {
18
20
  "@types/jest": "^29.5.3",
21
+ "@types/sha.js": "^2.4.4",
19
22
  "typescript": "5.3.3"
20
23
  },
24
+ "peerDependencies": {
25
+ "msrcrypto": "^1.5.8"
26
+ },
27
+ "peerDependenciesMeta": {
28
+ "msrcrypto": {
29
+ "optional": true
30
+ }
31
+ },
21
32
  "engines": {
22
33
  "node": ">=18"
23
34
  },
@@ -46,5 +57,5 @@
46
57
  "publishConfig": {
47
58
  "access": "public"
48
59
  },
49
- "gitHead": "a8ea63513c7af72647d4efefe51d15d9791095df"
60
+ "gitHead": "ea31c2b1a21d95ca4db407cde19b7041e06f063b"
50
61
  }