@simplewebauthn/server 5.4.2 → 5.4.3

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.
@@ -143,42 +143,46 @@ export declare type MetadataStatement = {
143
143
  */
144
144
  /**
145
145
  * USER_VERIFY
146
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#user-verification-methods
146
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#user-verification-methods
147
147
  */
148
148
  export declare type UserVerify = 'presence_internal' | 'fingerprint_internal' | 'passcode_internal' | 'voiceprint_internal' | 'faceprint_internal' | 'location_internal' | 'eyeprint_internal' | 'pattern_internal' | 'handprint_internal' | 'passcode_external' | 'pattern_external' | 'none' | 'all';
149
149
  /**
150
150
  * ALG_SIGN
151
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authentication-algorithms
151
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#authentication-algorithms
152
+ *
153
+ * Using this helpful TS pattern here so that we can strongly enforce the existence of COSE info
154
+ * mappings in `algSignToCOSEInfoMap` in verifyAttestationWithMetadata.ts
152
155
  */
153
- export declare type AlgSign = 'secp256r1_ecdsa_sha256_raw' | 'secp256r1_ecdsa_sha256_der' | 'rsassa_pss_sha256_raw' | 'rsassa_pss_sha256_der' | 'secp256k1_ecdsa_sha256_raw' | 'secp256k1_ecdsa_sha256_der' | 'sm2_sm3_raw' | 'rsa_emsa_pkcs1_sha256_raw' | 'rsa_emsa_pkcs1_sha256_der' | 'rsassa_pss_sha384_raw' | 'rsassa_pss_sha256_raw' | 'rsassa_pkcsv15_sha256_raw' | 'rsassa_pkcsv15_sha384_raw' | 'rsassa_pkcsv15_sha512_raw' | 'rsassa_pkcsv15_sha1_raw' | 'secp384r1_ecdsa_sha384_raw' | 'secp512r1_ecdsa_sha256_raw' | 'ed25519_eddsa_sha512_raw';
156
+ export declare type AlgSign = typeof AlgSign[number];
157
+ declare const AlgSign: readonly ["secp256r1_ecdsa_sha256_raw", "secp256r1_ecdsa_sha256_der", "rsassa_pss_sha256_raw", "rsassa_pss_sha256_der", "secp256k1_ecdsa_sha256_raw", "secp256k1_ecdsa_sha256_der", "rsassa_pss_sha384_raw", "rsassa_pkcsv15_sha256_raw", "rsassa_pkcsv15_sha384_raw", "rsassa_pkcsv15_sha512_raw", "rsassa_pkcsv15_sha1_raw", "secp384r1_ecdsa_sha384_raw", "secp512r1_ecdsa_sha256_raw", "ed25519_eddsa_sha512_raw"];
154
158
  /**
155
159
  * ALG_KEY
156
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#public-key-representation-formats
160
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#public-key-representation-formats
157
161
  */
158
162
  export declare type AlgKey = 'ecc_x962_raw' | 'ecc_x962_der' | 'rsa_2048_raw' | 'rsa_2048_der' | 'cose';
159
163
  /**
160
164
  * ATTESTATION
161
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authenticator-attestation-types
165
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#authenticator-attestation-types
162
166
  */
163
- export declare type Attestation = 'basic_full' | 'basic_surrogate' | 'ecdaa' | 'attca';
167
+ export declare type Attestation = 'basic_full' | 'basic_surrogate' | 'ecdaa' | 'attca' | 'anonca' | 'none';
164
168
  /**
165
169
  * KEY_PROTECTION
166
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#key-protection-types
170
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#key-protection-types
167
171
  */
168
172
  export declare type KeyProtection = 'software' | 'hardware' | 'tee' | 'secure_element' | 'remote_handle';
169
173
  /**
170
174
  * MATCHER_PROTECTION
171
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#matcher-protection-types
175
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#matcher-protection-types
172
176
  */
173
177
  export declare type MatcherProtection = 'software' | 'tee' | 'on_chip';
174
178
  /**
175
179
  * ATTACHMENT_HINT
176
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authenticator-attachment-hints
180
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#authenticator-attachment-hints
177
181
  */
178
182
  export declare type AttachmentHint = 'internal' | 'external' | 'wired' | 'wireless' | 'nfc' | 'bluetooth' | 'network' | 'ready' | 'wifi_direct';
179
183
  /**
180
184
  * TRANSACTION_CONFIRMATION_DISPLAY
181
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#transaction-confirmation-display-types
185
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#transaction-confirmation-display-types
182
186
  */
183
187
  export declare type TransactionConfirmationDisplay = 'any' | 'privileged_software' | 'tee' | 'hardware' | 'remote';
184
188
  /**
@@ -205,3 +209,4 @@ export declare type AuthenticatorGetInfo = {
205
209
  maxMsgSize?: number;
206
210
  pinProtocols?: number[];
207
211
  };
212
+ export {};
@@ -1,3 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const AlgSign = [
4
+ 'secp256r1_ecdsa_sha256_raw',
5
+ 'secp256r1_ecdsa_sha256_der',
6
+ 'rsassa_pss_sha256_raw',
7
+ 'rsassa_pss_sha256_der',
8
+ 'secp256k1_ecdsa_sha256_raw',
9
+ 'secp256k1_ecdsa_sha256_der',
10
+ 'rsassa_pss_sha384_raw',
11
+ 'rsassa_pkcsv15_sha256_raw',
12
+ 'rsassa_pkcsv15_sha384_raw',
13
+ 'rsassa_pkcsv15_sha512_raw',
14
+ 'rsassa_pkcsv15_sha1_raw',
15
+ 'secp384r1_ecdsa_sha384_raw',
16
+ 'secp512r1_ecdsa_sha256_raw',
17
+ 'ed25519_eddsa_sha512_raw',
18
+ ];
3
19
  //# sourceMappingURL=mdsTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdsTypes.js","sourceRoot":"","sources":["../../src/metadata/mdsTypes.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"mdsTypes.js","sourceRoot":"","sources":["../../src/metadata/mdsTypes.ts"],"names":[],"mappings":";;AA2MA,MAAM,OAAO,GAAG;IACd,4BAA4B;IAC5B,4BAA4B;IAC5B,uBAAuB;IACvB,uBAAuB;IACvB,4BAA4B;IAC5B,4BAA4B;IAC5B,uBAAuB;IACvB,2BAA2B;IAC3B,2BAA2B;IAC3B,2BAA2B;IAC3B,yBAAyB;IACzB,4BAA4B;IAC5B,4BAA4B;IAC5B,0BAA0B;CAClB,CAAC"}
@@ -1,8 +1,24 @@
1
1
  /// <reference types="node" />
2
2
  import { Base64URLString } from '@simplewebauthn/typescript-types';
3
- import { MetadataStatement } from '../metadata/mdsTypes';
3
+ import type { MetadataStatement, AlgSign } from '../metadata/mdsTypes';
4
4
  /**
5
5
  * Match properties of the authenticator's attestation statement against expected values as
6
6
  * registered with the FIDO Alliance Metadata Service
7
7
  */
8
8
  export declare function verifyAttestationWithMetadata(statement: MetadataStatement, credentialPublicKey: Buffer, x5c: Buffer[] | Base64URLString[]): Promise<boolean>;
9
+ declare type COSEInfo = {
10
+ kty: number;
11
+ alg: number;
12
+ crv?: number;
13
+ };
14
+ /**
15
+ * Convert ALG_SIGN values to COSE info
16
+ *
17
+ * Values pulled from `ALG_KEY_COSE` definitions in the FIDO Registry of Predefined Values
18
+ *
19
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#authentication-algorithms
20
+ */
21
+ export declare const algSignToCOSEInfoMap: {
22
+ [key in AlgSign]: COSEInfo;
23
+ };
24
+ export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyAttestationWithMetadata = void 0;
3
+ exports.algSignToCOSEInfoMap = exports.verifyAttestationWithMetadata = void 0;
4
4
  const convertCertBufferToPEM_1 = require("../helpers/convertCertBufferToPEM");
5
5
  const validateCertificatePath_1 = require("../helpers/validateCertificatePath");
6
6
  const decodeCredentialPublicKey_1 = require("../helpers/decodeCredentialPublicKey");
@@ -13,8 +13,9 @@ async function verifyAttestationWithMetadata(statement, credentialPublicKey, x5c
13
13
  // Make sure the alg in the attestation statement matches one of the ones specified in metadata
14
14
  const keypairCOSEAlgs = new Set();
15
15
  statement.authenticationAlgorithms.forEach(algSign => {
16
- // Convert algSign string to { kty, alg, crv }
17
- const algSignCOSEINFO = algSignToCOSEInfo(algSign);
16
+ // Map algSign string to { kty, alg, crv }
17
+ const algSignCOSEINFO = exports.algSignToCOSEInfoMap[algSign];
18
+ // Keeping this statement here just in case MDS returns something unexpected
18
19
  if (algSignCOSEINFO) {
19
20
  keypairCOSEAlgs.add(algSignCOSEINFO);
20
21
  }
@@ -54,19 +55,26 @@ async function verifyAttestationWithMetadata(statement, credentialPublicKey, x5c
54
55
  }
55
56
  // Make sure the public key is one of the allowed algorithms
56
57
  if (!foundMatch) {
57
- const debugMDSAlgs = Array.from(keypairCOSEAlgs);
58
- // Construct some useful error output about the public key
59
- const debugPubKeyAlgInfo = {
60
- kty: publicKeyCOSEInfo.kty,
61
- alg: publicKeyCOSEInfo.alg,
62
- };
63
- // Don't output a bunch of bytes for `crv` when the public key is an RSA key
64
- if (publicKeyCOSEInfo.kty !== convertCOSEtoPKCS_1.COSEKTY.RSA) {
65
- debugPubKeyAlgInfo.crv = publicKeyCOSEInfo.crv;
66
- }
67
- const strPubKeyAlg = JSON.stringify(debugPubKeyAlgInfo);
68
- const strMDSAlgs = JSON.stringify(debugMDSAlgs);
69
- throw new Error(`Public key algorithm ${strPubKeyAlg} did not match any metadata algorithms ${strMDSAlgs}`);
58
+ /**
59
+ * Craft some useful error output from the MDS algorithms
60
+ *
61
+ * Example:
62
+ *
63
+ * ```
64
+ * [
65
+ * 'rsassa_pss_sha256_raw' (COSE info: { kty: 3, alg: -37 }),
66
+ * 'secp256k1_ecdsa_sha256_raw' (COSE info: { kty: 2, alg: -47, crv: 8 })
67
+ * ]
68
+ * ```
69
+ */
70
+ const debugMDSAlgs = statement.authenticationAlgorithms
71
+ .map((algSign) => `'${algSign}' (COSE info: ${stringifyCOSEInfo(exports.algSignToCOSEInfoMap[algSign])})`);
72
+ const strMDSAlgs = JSON.stringify(debugMDSAlgs, null, 2).replace(/"/g, '');
73
+ /**
74
+ * Construct useful error output about the public key
75
+ */
76
+ const strPubKeyAlg = stringifyCOSEInfo(publicKeyCOSEInfo);
77
+ throw new Error(`Public key parameters ${strPubKeyAlg} did not match any of the following metadata algorithms:\n${strMDSAlgs}`);
70
78
  }
71
79
  try {
72
80
  await (0, validateCertificatePath_1.validateCertificatePath)(x5c.map(convertCertBufferToPEM_1.convertCertBufferToPEM), statement.attestationRootCertificates.map(convertCertBufferToPEM_1.convertCertBufferToPEM));
@@ -83,43 +91,40 @@ exports.verifyAttestationWithMetadata = verifyAttestationWithMetadata;
83
91
  *
84
92
  * Values pulled from `ALG_KEY_COSE` definitions in the FIDO Registry of Predefined Values
85
93
  *
86
- * https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authentication-algorithms
94
+ * https://fidoalliance.org/specs/common-specs/fido-registry-v2.2-ps-20220523.html#authentication-algorithms
95
+ */
96
+ exports.algSignToCOSEInfoMap = {
97
+ secp256r1_ecdsa_sha256_raw: { kty: 2, alg: -7, crv: 1 },
98
+ secp256r1_ecdsa_sha256_der: { kty: 2, alg: -7, crv: 1 },
99
+ rsassa_pss_sha256_raw: { kty: 3, alg: -37 },
100
+ rsassa_pss_sha256_der: { kty: 3, alg: -37 },
101
+ secp256k1_ecdsa_sha256_raw: { kty: 2, alg: -47, crv: 8 },
102
+ secp256k1_ecdsa_sha256_der: { kty: 2, alg: -47, crv: 8 },
103
+ rsassa_pss_sha384_raw: { kty: 3, alg: -38 },
104
+ rsassa_pkcsv15_sha256_raw: { kty: 3, alg: -257 },
105
+ rsassa_pkcsv15_sha384_raw: { kty: 3, alg: -258 },
106
+ rsassa_pkcsv15_sha512_raw: { kty: 3, alg: -259 },
107
+ rsassa_pkcsv15_sha1_raw: { kty: 3, alg: -65535 },
108
+ secp384r1_ecdsa_sha384_raw: { kty: 2, alg: -35, crv: 2 },
109
+ secp512r1_ecdsa_sha256_raw: { kty: 2, alg: -36, crv: 3 },
110
+ ed25519_eddsa_sha512_raw: { kty: 1, alg: -8, crv: 6 },
111
+ };
112
+ /**
113
+ * A helper to format COSEInfo a little nicer than we can achieve with JSON.stringify()
114
+ *
115
+ * Input: `{ "kty": 3, "alg": -257 }`
116
+ *
117
+ * Output: `"{ kty: 3, alg: -257 }"`
87
118
  */
88
- function algSignToCOSEInfo(algSign) {
89
- switch (algSign) {
90
- case 'secp256r1_ecdsa_sha256_raw':
91
- case 'secp256r1_ecdsa_sha256_der':
92
- return { kty: 2, alg: -7, crv: 1 };
93
- case 'rsassa_pss_sha256_raw':
94
- case 'rsassa_pss_sha256_der':
95
- return { kty: 3, alg: -37 };
96
- case 'secp256k1_ecdsa_sha256_raw':
97
- case 'secp256k1_ecdsa_sha256_der':
98
- return { kty: 2, alg: 7, crv: 8 };
99
- case 'rsassa_pss_sha384_raw':
100
- return { kty: 3, alg: -38 };
101
- case 'rsassa_pkcsv15_sha256_raw':
102
- return { kty: 3, alg: -257 };
103
- case 'rsassa_pkcsv15_sha384_raw':
104
- return { kty: 3, alg: -258 };
105
- case 'rsassa_pkcsv15_sha512_raw':
106
- return { kty: 3, alg: -259 };
107
- case 'rsassa_pkcsv15_sha1_raw':
108
- return { kty: 3, alg: -65535 };
109
- case 'secp384r1_ecdsa_sha384_raw':
110
- return { kty: 2, alg: -35, crv: 2 };
111
- case 'secp512r1_ecdsa_sha256_raw':
112
- return { kty: 2, alg: -36, crv: 3 };
113
- case 'ed25519_eddsa_sha512_raw':
114
- return { kty: 1, alg: -8, crv: 6 };
115
- case 'rsa_emsa_pkcs1_sha256_raw':
116
- case 'rsa_emsa_pkcs1_sha256_der':
117
- return { kty: 3, alg: -257 };
118
- // TODO: COSE info wasn't readily available for these, these seem rare...
119
- // case 'sm2_sm3_raw':
120
- // return {};
121
- default:
122
- return undefined;
119
+ function stringifyCOSEInfo(info) {
120
+ const { kty, alg, crv } = info;
121
+ let toReturn = '';
122
+ if (kty !== convertCOSEtoPKCS_1.COSEKTY.RSA) {
123
+ toReturn = `{ kty: ${kty}, alg: ${alg}, crv: ${crv} }`;
124
+ }
125
+ else {
126
+ toReturn = `{ kty: ${kty}, alg: ${alg} }`;
123
127
  }
128
+ return toReturn;
124
129
  }
125
130
  //# sourceMappingURL=verifyAttestationWithMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifyAttestationWithMetadata.js","sourceRoot":"","sources":["../../src/metadata/verifyAttestationWithMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyAttestationWithMetadata.js","sourceRoot":"","sources":["../../src/metadata/verifyAttestationWithMetadata.ts"],"names":[],"mappings":";;;AAGA,8EAA2E;AAC3E,gFAA6E;AAC7E,oFAAiF;AACjF,oEAAiE;AAEjE;;;GAGG;AACI,KAAK,UAAU,6BAA6B,CACjD,SAA4B,EAC5B,mBAA2B,EAC3B,GAAiC;IAEjC,+FAA+F;IAC/F,MAAM,eAAe,GAAkB,IAAI,GAAG,EAAE,CAAC;IACjD,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACnD,0CAA0C;QAC1C,MAAM,eAAe,GAAG,4BAAoB,CAAC,OAAO,CAAC,CAAC;QAEtD,4EAA4E;QAC5E,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,gBAAgB,GAAG,IAAA,qDAAyB,EAAC,mBAAmB,CAAC,CAAC;IACxE,+DAA+D;IAC/D,MAAM,iBAAiB,GAAa;QAClC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,4BAAQ,CAAC,GAAG,CAAW;QACjD,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,4BAAQ,CAAC,GAAG,CAAW;QACjD,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,4BAAQ,CAAC,GAAG,CAAW;KAClD,CAAC;IACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE;QAC1B,OAAO,iBAAiB,CAAC,GAAG,CAAC;KAC9B;IAED;;;OAGG;IACH,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE;QACxC,yCAAyC;QACzC,IAAI,UAAU,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,EAAE;YACxF,+DAA+D;YAC/D,IACE,CAAC,UAAU,CAAC,GAAG,KAAK,2BAAO,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,KAAK,2BAAO,CAAC,GAAG,CAAC;gBAClE,UAAU,CAAC,GAAG,KAAK,iBAAiB,CAAC,GAAG,EACxC;gBACA,UAAU,GAAG,IAAI,CAAC;aACnB;iBAAM;gBACL,+CAA+C;gBAC/C,UAAU,GAAG,IAAI,CAAC;aACnB;SACF;QAED,IAAI,UAAU,EAAE;YACd,MAAM;SACP;KACF;IAED,4DAA4D;IAC5D,IAAI,CAAC,UAAU,EAAE;QACf;;;;;;;;;;;WAWG;QACH,MAAM,YAAY,GAAG,SAAS,CAAC,wBAAwB;aACpD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,iBAAiB,iBAAiB,CAAC,4BAAoB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE3E;;WAEG;QACH,MAAM,YAAY,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,KAAK,CACb,yBAAyB,YAAY,6DAA6D,UAAU,EAAE,CAC/G,CAAC;KACH;IAED,IAAI;QACF,MAAM,IAAA,iDAAuB,EAC3B,GAAG,CAAC,GAAG,CAAC,+CAAsB,CAAC,EAC/B,SAAS,CAAC,2BAA2B,CAAC,GAAG,CAAC,+CAAsB,CAAC,CAClE,CAAC;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,GAAG,GAAY,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4EAA4E,IAAI,CAAC,OAAO,EAAE,CAC3F,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA/FD,sEA+FC;AAQD;;;;;;GAMG;AACU,QAAA,oBAAoB,GAAmC;IAClE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACvD,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACvD,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;IAC3C,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;IAC3C,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IACxD,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IACxD,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;IAC3C,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;IAChD,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;IAChD,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;IAChD,uBAAuB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;IAChD,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IACxD,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;IACxD,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CACtD,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE/B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,GAAG,KAAK,2BAAO,CAAC,GAAG,EAAE;QACvB,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;KACxD;SAAM;QACL,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;KAC3C;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplewebauthn/server",
3
- "version": "5.4.2",
3
+ "version": "5.4.3",
4
4
  "description": "SimpleWebAuthn for Servers",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -59,7 +59,7 @@
59
59
  "node-fetch": "^2.6.0",
60
60
  "node-rsa": "^1.1.1"
61
61
  },
62
- "gitHead": "a79e3d35f30970439b3bab01d7039b535cacf9ab",
62
+ "gitHead": "bee3aefe652cba5b6e46dc2af282ec4028e3eefa",
63
63
  "devDependencies": {
64
64
  "@types/cbor": "^5.0.1",
65
65
  "@types/debug": "^4.1.7",