test: make x509 crypto tests work with BoringSSL · nodejs/node@b296b5a
@@ -113,7 +113,7 @@ const der = Buffer.from(
113113'5A:42:63:E0:21:2F:D6:70:63:07:96:6F:27:A7:78:12:08:02:7A:8B'
114114);
115115assert.strictEqual(x509.keyUsage, undefined);
116-assert.strictEqual(x509.serialNumber, '147D36C1C2F74206DE9FAB5F2226D78ADB00A426');
116+assert.strictEqual(x509.serialNumber.toUpperCase(), '147D36C1C2F74206DE9FAB5F2226D78ADB00A426');
117117118118assert.deepStrictEqual(x509.raw, der);
119119@@ -255,6 +255,16 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
255255});
256256mc.port2.postMessage(x509);
257257258+const modulusOSSL = 'D456320AFB20D3827093DC2C4284ED04DFBABD56E1DDAE529E28B790CD42' +
259+'56DB273349F3735FFD337C7A6363ECCA5A27B7F73DC7089A96C6D886DB0C' +
260+'62388F1CDD6A963AFCD599D5800E587A11F908960F84ED50BA25A28303EC' +
261+'DA6E684FBE7BAEDC9CE8801327B1697AF25097CEE3F175E400984C0DB6A8' +
262+'EB87BE03B4CF94774BA56FFFC8C63C68D6ADEB60ABBE69A7B14AB6A6B9E7' +
263+'BAA89B5ADAB8EB07897C07F6D4FA3D660DFF574107D28E8F63467A788624' +
264+'C574197693E959CEA1362FFAE1BBA10C8C0D88840ABFEF103631B2E8F5C3' +
265+'9B5548A7EA57E8A39F89291813F45A76C448033A2B7ED8403F4BAA147CF3' +
266+'5E2D2554AA65CE49695797095BF4DC6B';
267+258268// Verify that legacy encoding works
259269const legacyObjectCheck = {
260270subject: Object.assign({ __proto__: null }, {
@@ -279,15 +289,7 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
279289'OCSP - URI': ['http://ocsp.nodejs.org/'],
280290'CA Issuers - URI': ['http://ca.nodejs.org/ca.cert']
281291}),
282-modulus: 'D456320AFB20D3827093DC2C4284ED04DFBABD56E1DDAE529E28B790CD42' +
283-'56DB273349F3735FFD337C7A6363ECCA5A27B7F73DC7089A96C6D886DB0C' +
284-'62388F1CDD6A963AFCD599D5800E587A11F908960F84ED50BA25A28303EC' +
285-'DA6E684FBE7BAEDC9CE8801327B1697AF25097CEE3F175E400984C0DB6A8' +
286-'EB87BE03B4CF94774BA56FFFC8C63C68D6ADEB60ABBE69A7B14AB6A6B9E7' +
287-'BAA89B5ADAB8EB07897C07F6D4FA3D660DFF574107D28E8F63467A788624' +
288-'C574197693E959CEA1362FFAE1BBA10C8C0D88840ABFEF103631B2E8F5C3' +
289-'9B5548A7EA57E8A39F89291813F45A76C448033A2B7ED8403F4BAA147CF3' +
290-'5E2D2554AA65CE49695797095BF4DC6B',
292+modulusPattern: new RegExp(`^${modulusOSSL}$`, 'i'),
291293bits: 2048,
292294exponent: '0x10001',
293295valid_from: 'Sep 3 21:40:37 2022 GMT',
@@ -300,7 +302,7 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
300302'51:62:18:39:E2:E2:77:F5:86:11:E8:C0:CA:54:43:7C:76:83:19:05:D0:03:' +
301303'24:21:B8:EB:14:61:FB:24:16:EB:BD:51:1A:17:91:04:30:03:EB:68:5F:DC:' +
302304'86:E1:D1:7C:FB:AF:78:ED:63:5F:29:9C:32:AF:A1:8E:22:96:D1:02',
303-serialNumber: '147D36C1C2F74206DE9FAB5F2226D78ADB00A426'
305+serialNumberPattern: /^147D36C1C2F74206DE9FAB5F2226D78ADB00A426$/i
304306};
305307306308const legacyObject = x509.toLegacyObject();
@@ -309,7 +311,7 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
309311assert.deepStrictEqual(legacyObject.subject, legacyObjectCheck.subject);
310312assert.deepStrictEqual(legacyObject.issuer, legacyObjectCheck.issuer);
311313assert.deepStrictEqual(legacyObject.infoAccess, legacyObjectCheck.infoAccess);
312-assert.strictEqual(legacyObject.modulus, legacyObjectCheck.modulus);
314+assert.match(legacyObject.modulus, legacyObjectCheck.modulusPattern);
313315assert.strictEqual(legacyObject.bits, legacyObjectCheck.bits);
314316assert.strictEqual(legacyObject.exponent, legacyObjectCheck.exponent);
315317assert.strictEqual(legacyObject.valid_from, legacyObjectCheck.valid_from);
@@ -318,9 +320,9 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
318320assert.strictEqual(
319321legacyObject.fingerprint256,
320322legacyObjectCheck.fingerprint256);
321-assert.strictEqual(
323+assert.match(
322324legacyObject.serialNumber,
323-legacyObjectCheck.serialNumber);
325+legacyObjectCheck.serialNumberPattern);
324326}
325327326328{