@simplewebauthn/server 5.4.1 → 5.4.2
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.
|
@@ -54,8 +54,19 @@ async function verifyAttestationWithMetadata(statement, credentialPublicKey, x5c
|
|
|
54
54
|
}
|
|
55
55
|
// Make sure the public key is one of the allowed algorithms
|
|
56
56
|
if (!foundMatch) {
|
|
57
|
-
const
|
|
58
|
-
|
|
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}`);
|
|
59
70
|
}
|
|
60
71
|
try {
|
|
61
72
|
await (0, validateCertificatePath_1.validateCertificatePath)(x5c.map(convertCertBufferToPEM_1.convertCertBufferToPEM), statement.attestationRootCertificates.map(convertCertBufferToPEM_1.convertCertBufferToPEM));
|
|
@@ -69,6 +80,9 @@ async function verifyAttestationWithMetadata(statement, credentialPublicKey, x5c
|
|
|
69
80
|
exports.verifyAttestationWithMetadata = verifyAttestationWithMetadata;
|
|
70
81
|
/**
|
|
71
82
|
* Convert ALG_SIGN values to COSE info
|
|
83
|
+
*
|
|
84
|
+
* Values pulled from `ALG_KEY_COSE` definitions in the FIDO Registry of Predefined Values
|
|
85
|
+
*
|
|
72
86
|
* https://fidoalliance.org/specs/common-specs/fido-registry-v2.1-ps-20191217.html#authentication-algorithms
|
|
73
87
|
*/
|
|
74
88
|
function algSignToCOSEInfo(algSign) {
|
|
@@ -81,7 +95,7 @@ function algSignToCOSEInfo(algSign) {
|
|
|
81
95
|
return { kty: 3, alg: -37 };
|
|
82
96
|
case 'secp256k1_ecdsa_sha256_raw':
|
|
83
97
|
case 'secp256k1_ecdsa_sha256_der':
|
|
84
|
-
return { kty: 2, alg:
|
|
98
|
+
return { kty: 2, alg: 7, crv: 8 };
|
|
85
99
|
case 'rsassa_pss_sha384_raw':
|
|
86
100
|
return { kty: 3, alg: -38 };
|
|
87
101
|
case 'rsassa_pkcsv15_sha256_raw':
|
|
@@ -98,12 +112,12 @@ function algSignToCOSEInfo(algSign) {
|
|
|
98
112
|
return { kty: 2, alg: -36, crv: 3 };
|
|
99
113
|
case 'ed25519_eddsa_sha512_raw':
|
|
100
114
|
return { kty: 1, alg: -8, crv: 6 };
|
|
101
|
-
|
|
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...
|
|
102
119
|
// case 'sm2_sm3_raw':
|
|
103
120
|
// return {};
|
|
104
|
-
// case 'rsa_emsa_pkcs1_sha256_raw':
|
|
105
|
-
// case 'rsa_emsa_pkcs1_sha256_der':
|
|
106
|
-
// return {};
|
|
107
121
|
default:
|
|
108
122
|
return undefined;
|
|
109
123
|
}
|
|
@@ -1 +1 @@
|
|
|
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,8CAA8C;QAC9C,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEnD,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,MAAM,
|
|
1
|
+
{"version":3,"file":"verifyAttestationWithMetadata.js","sourceRoot":"","sources":["../../src/metadata/verifyAttestationWithMetadata.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplewebauthn/server",
|
|
3
|
-
"version": "5.4.
|
|
3
|
+
"version": "5.4.2",
|
|
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": "
|
|
62
|
+
"gitHead": "a79e3d35f30970439b3bab01d7039b535cacf9ab",
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@types/cbor": "^5.0.1",
|
|
65
65
|
"@types/debug": "^4.1.7",
|