Skip to content

Commit e6a58b5

Browse files
committed
test,crypto: make crypto tests work with BoringSSL
nodejs/node#55491
1 parent e160713 commit e6a58b5

1 file changed

Lines changed: 6 additions & 132 deletions

File tree

‎patches/node/fix_crypto_tests_to_run_with_bssl.patch‎

Lines changed: 6 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -138,24 +138,6 @@ index fcf1922bcdba733af6c22f142db4f7b099947757..9f72ae4e41a113e752f40795103c2af5
138138
});
139139
}
140140
}
141-
@@ -43,7 +43,7 @@ for (const g of [-1, 1]) {
142-
const ex = {
143-
code: 'ERR_OSSL_DH_BAD_GENERATOR',
144-
name: 'Error',
145-
- message: /bad generator/,
146-
+ message: /bad generator|BAD_GENERATOR/,
147-
};
148-
assert.throws(() => crypto.createDiffieHellman('abcdef', g), ex);
149-
assert.throws(() => crypto.createDiffieHellman('abcdef', 'hex', g), ex);
150-
@@ -55,7 +55,7 @@ for (const g of [Buffer.from([]),
151-
const ex = {
152-
code: 'ERR_OSSL_DH_BAD_GENERATOR',
153-
name: 'Error',
154-
- message: /bad generator/,
155-
+ message: /bad generator|BAD_GENERATOR/,
156-
};
157-
assert.throws(() => crypto.createDiffieHellman('abcdef', g), ex);
158-
assert.throws(() => crypto.createDiffieHellman('abcdef', 'hex', g), ex);
159141
diff --git a/test/parallel/test-crypto-dh.js b/test/parallel/test-crypto-dh.js
160142
index 9ebe14011eed223994e0901bc22dcc582b4b0739..e78f90eb76380916ce7098fb517c83a954edb053 100644
161143
--- a/test/parallel/test-crypto-dh.js
@@ -319,19 +301,6 @@ index f1f14b472997e76bb4100edb1c6cf4fc24d1074d..5057e3f9bc5bb78aceffa5e79530f8ce
319301
});
320302

321303
// No-pad encrypted string should return the same:
322-
diff --git a/test/parallel/test-crypto-private-decrypt-gh32240.js b/test/parallel/test-crypto-private-decrypt-gh32240.js
323-
index 1785f5eef3d202976666081d09850ed744d83446..e88227a215ba4f7fa196f7642ae694a57d55b3ca 100644
324-
--- a/test/parallel/test-crypto-private-decrypt-gh32240.js
325-
+++ b/test/parallel/test-crypto-private-decrypt-gh32240.js
326-
@@ -24,7 +24,7 @@ const pkeyEncrypted =
327-
pair.privateKey.export({
328-
type: 'pkcs1',
329-
format: 'pem',
330-
- cipher: 'aes128',
331-
+ cipher: 'aes-128-cbc',
332-
passphrase: 'secret',
333-
});
334-
335304
diff --git a/test/parallel/test-crypto-rsa-dsa.js b/test/parallel/test-crypto-rsa-dsa.js
336305
index 5f4fafdfffbf726b7cb39c472baa3df25c9794cf..d52376da2cddd90adcdf8a9b7dcd03e348d9f2b4 100644
337306
--- a/test/parallel/test-crypto-rsa-dsa.js
@@ -471,7 +440,7 @@ index 008ab129f0e019c659eecf5a76b7eb412c947fe3..6688f5d916f50e1e4fcfff1619c8634a
471440

472441
cipher.end('Papaya!'); // Should not cause an unhandled exception.
473442
diff --git a/test/parallel/test-crypto-x509.js b/test/parallel/test-crypto-x509.js
474-
index 15e1f53bb05faf60fa808eb5901591d1512edf3c..329f0d00c869cd19580acea18c904cf9900fb816 100644
443+
index bd906c25b9ee194ff34fe5fb8ecb68d7a672138c..5b631a32d07bd916ff7cd847e52b26f694bd00c6 100644
475444
--- a/test/parallel/test-crypto-x509.js
476445
+++ b/test/parallel/test-crypto-x509.js
477446
@@ -96,8 +96,10 @@ const der = Buffer.from(
@@ -485,91 +454,23 @@ index 15e1f53bb05faf60fa808eb5901591d1512edf3c..329f0d00c869cd19580acea18c904cf9
485454
assert.strictEqual(
486455
x509.fingerprint,
487456
'8B:89:16:C4:99:87:D2:13:1A:64:94:36:38:A5:32:01:F0:95:3B:53');
488-
@@ -113,7 +115,7 @@ const der = Buffer.from(
489-
'5A:42:63:E0:21:2F:D6:70:63:07:96:6F:27:A7:78:12:08:02:7A:8B'
490-
);
491-
assert.strictEqual(x509.keyUsage, undefined);
492-
- assert.strictEqual(x509.serialNumber, '147D36C1C2F74206DE9FAB5F2226D78ADB00A426');
493-
+ assert.match(x509.serialNumber, /147D36C1C2F74206DE9FAB5F2226D78ADB00A426/i);
494-
495-
assert.deepStrictEqual(x509.raw, der);
496-
497-
@@ -255,6 +257,16 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
498-
});
499-
mc.port2.postMessage(x509);
500-
501-
+ const modulusOSSL = 'D456320AFB20D3827093DC2C4284ED04DFBABD56E1DDAE529E28B790CD42' +
502-
+ '56DB273349F3735FFD337C7A6363ECCA5A27B7F73DC7089A96C6D886DB0C' +
503-
+ '62388F1CDD6A963AFCD599D5800E587A11F908960F84ED50BA25A28303EC' +
504-
+ 'DA6E684FBE7BAEDC9CE8801327B1697AF25097CEE3F175E400984C0DB6A8' +
505-
+ 'EB87BE03B4CF94774BA56FFFC8C63C68D6ADEB60ABBE69A7B14AB6A6B9E7' +
506-
+ 'BAA89B5ADAB8EB07897C07F6D4FA3D660DFF574107D28E8F63467A788624' +
507-
+ 'C574197693E959CEA1362FFAE1BBA10C8C0D88840ABFEF103631B2E8F5C3' +
508-
+ '9B5548A7EA57E8A39F89291813F45A76C448033A2B7ED8403F4BAA147CF3' +
509-
+ '5E2D2554AA65CE49695797095BF4DC6B';
510-
+
511-
// Verify that legacy encoding works
512-
const legacyObjectCheck = {
513-
subject: Object.assign({ __proto__: null }, {
514-
@@ -279,15 +291,7 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
515-
'OCSP - URI': ['http://ocsp.nodejs.org/'],
516-
'CA Issuers - URI': ['http://ca.nodejs.org/ca.cert']
517-
}),
518-
- modulus: 'D456320AFB20D3827093DC2C4284ED04DFBABD56E1DDAE529E28B790CD42' +
519-
- '56DB273349F3735FFD337C7A6363ECCA5A27B7F73DC7089A96C6D886DB0C' +
520-
- '62388F1CDD6A963AFCD599D5800E587A11F908960F84ED50BA25A28303EC' +
521-
- 'DA6E684FBE7BAEDC9CE8801327B1697AF25097CEE3F175E400984C0DB6A8' +
522-
- 'EB87BE03B4CF94774BA56FFFC8C63C68D6ADEB60ABBE69A7B14AB6A6B9E7' +
523-
- 'BAA89B5ADAB8EB07897C07F6D4FA3D660DFF574107D28E8F63467A788624' +
524-
- 'C574197693E959CEA1362FFAE1BBA10C8C0D88840ABFEF103631B2E8F5C3' +
525-
- '9B5548A7EA57E8A39F89291813F45A76C448033A2B7ED8403F4BAA147CF3' +
526-
- '5E2D2554AA65CE49695797095BF4DC6B',
527-
+ modulusPattern: new RegExp(modulusOSSL, 'i'),
528-
bits: 2048,
529-
exponent: '0x10001',
530-
valid_from: 'Sep 3 21:40:37 2022 GMT',
531-
@@ -300,7 +304,7 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
532-
'51:62:18:39:E2:E2:77:F5:86:11:E8:C0:CA:54:43:7C:76:83:19:05:D0:03:' +
533-
'24:21:B8:EB:14:61:FB:24:16:EB:BD:51:1A:17:91:04:30:03:EB:68:5F:DC:' +
534-
'86:E1:D1:7C:FB:AF:78:ED:63:5F:29:9C:32:AF:A1:8E:22:96:D1:02',
535-
- serialNumber: '147D36C1C2F74206DE9FAB5F2226D78ADB00A426'
536-
+ serialNumberPattern: /147D36C1C2F74206DE9FAB5F2226D78ADB00A426/i
537-
};
538-
539-
const legacyObject = x509.toLegacyObject();
540-
@@ -309,7 +313,7 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
541-
assert.deepStrictEqual(legacyObject.subject, legacyObjectCheck.subject);
542-
assert.deepStrictEqual(legacyObject.issuer, legacyObjectCheck.issuer);
543-
assert.deepStrictEqual(legacyObject.infoAccess, legacyObjectCheck.infoAccess);
544-
- assert.strictEqual(legacyObject.modulus, legacyObjectCheck.modulus);
545-
+ assert.match(legacyObject.modulus, legacyObjectCheck.modulusPattern);
546-
assert.strictEqual(legacyObject.bits, legacyObjectCheck.bits);
547-
assert.strictEqual(legacyObject.exponent, legacyObjectCheck.exponent);
548-
assert.strictEqual(legacyObject.valid_from, legacyObjectCheck.valid_from);
549-
@@ -318,11 +322,12 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
550-
assert.strictEqual(
551-
legacyObject.fingerprint256,
552-
legacyObjectCheck.fingerprint256);
553-
- assert.strictEqual(
554-
+ assert.match(
555-
legacyObject.serialNumber,
556-
- legacyObjectCheck.serialNumber);
557-
+ legacyObjectCheck.serialNumberPattern);
457+
@@ -325,6 +327,7 @@ oans248kpal88CGqsN2so/wZKxVnpiXlPHMdiNL7hRSUqlHkUi07FrP2Htg8kjI=
458+
legacyObjectCheck.serialNumberPattern);
558459
}
559460

560461
+if (!common.openSSLIsBoringSSL) {
561462
{
562463
// This X.509 Certificate can be parsed by OpenSSL because it contains a
563464
// structurally sound TBSCertificate structure. However, the SPKI field of the
564-
@@ -361,6 +366,7 @@ UcXd/5qu2GhokrKU2cPttU+XAN2Om6a0
465+
@@ -363,6 +366,7 @@ UcXd/5qu2GhokrKU2cPttU+XAN2Om6a0
565466

566467
assert.strictEqual(cert.checkIssued(cert), false);
567468
}
568469
+}
569470

570471
{
571472
// Test date parsing of `validFromDate` and `validToDate` fields, according to RFC 5280.
572-
@@ -398,8 +404,10 @@ UidvpWWipVLZgK+oDks+bKTobcoXGW9oXobiIYqslXPy
473+
@@ -400,8 +404,10 @@ UidvpWWipVLZgK+oDks+bKTobcoXGW9oXobiIYqslXPy
573474
-----END CERTIFICATE-----`.trim();
574475
const c1 = new X509Certificate(certPemUTCTime);
575476

@@ -580,7 +481,7 @@ index 15e1f53bb05faf60fa808eb5901591d1512edf3c..329f0d00c869cd19580acea18c904cf9
580481

581482
// The GeneralizedTime format is used for dates in 2050 or later.
582483
const certPemGeneralizedTime = `-----BEGIN CERTIFICATE-----
583-
@@ -433,6 +441,8 @@ CWwQO8JZjJqFtqtuzy2n+gLCvqePgG/gmSqHOPm2ZbLW
484+
@@ -435,6 +441,8 @@ CWwQO8JZjJqFtqtuzy2n+gLCvqePgG/gmSqHOPm2ZbLW
584485
-----END CERTIFICATE-----`.trim();
585486
const c2 = new X509Certificate(certPemGeneralizedTime);
586487

@@ -696,33 +597,6 @@ index da5600710560b22049eba1ef18bbb742d447a673..8917b96f666de916616af2fb3ce3a58d
696597
};
697598

698599
// Create TLS1.2 server
699-
diff --git a/test/parallel/test-tls-getcertificate-x509.js b/test/parallel/test-tls-getcertificate-x509.js
700-
index aa685ca9e09cf0d17ff4d5480089e9977dd51f72..ccafa427433922155c1afd5d95ba69d8108825ef 100644
701-
--- a/test/parallel/test-tls-getcertificate-x509.js
702-
+++ b/test/parallel/test-tls-getcertificate-x509.js
703-
@@ -20,9 +20,7 @@ const server = tls.createServer(options, function(cleartext) {
704-
server.once('secureConnection', common.mustCall(function(socket) {
705-
const cert = socket.getX509Certificate();
706-
assert(cert instanceof X509Certificate);
707-
- assert.strictEqual(
708-
- cert.serialNumber,
709-
- '5B75D77EDC7FB5B7FA9F1424DA4C64FB815DCBDE');
710-
+ assert.match(cert.serialNumber, /5B75D77EDC7FB5B7FA9F1424DA4C64FB815DCBDE/i)
711-
}));
712-
713-
server.listen(0, common.mustCall(function() {
714-
@@ -33,10 +31,7 @@ server.listen(0, common.mustCall(function() {
715-
const peerCert = socket.getPeerX509Certificate();
716-
assert(peerCert.issuerCertificate instanceof X509Certificate);
717-
assert.strictEqual(peerCert.issuerCertificate.issuerCertificate, undefined);
718-
- assert.strictEqual(
719-
- peerCert.issuerCertificate.serialNumber,
720-
- '147D36C1C2F74206DE9FAB5F2226D78ADB00A425'
721-
- );
722-
+ assert.match(peerCert.issuerCertificate.serialNumber, /147D36C1C2F74206DE9FAB5F2226D78ADB00A425/i);
723-
server.close();
724-
}));
725-
socket.end('Hello');
726600
diff --git a/test/parallel/test-tls-getprotocol.js b/test/parallel/test-tls-getprotocol.js
727601
index 571f400cea574662bda6be8eecd22ceccaf75420..2296362dc625ee663df11927297ccf124233a19b 100644
728602
--- a/test/parallel/test-tls-getprotocol.js

0 commit comments

Comments
 (0)