Skip to content

Commit

Permalink
update all tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Momtchil Momtchev committed Sep 3, 2022
1 parent 5bfdadc commit ccdd394
Show file tree
Hide file tree
Showing 8 changed files with 80 additions and 74 deletions.
4 changes: 4 additions & 0 deletions test/fixtures/keys/Makefile
Expand Up @@ -21,6 +21,7 @@ all: \
agent10.pfx \
ec10-cert.pem \
ec10.pfx \
dh512.pem \
dh1024.pem \
dh2048.pem \
dherror.pem \
Expand Down Expand Up @@ -584,6 +585,9 @@ ec.pfx: ec-cert.pem ec-key.pem
-out ec.pfx \
-password pass:

dh512.pem:
openssl dhparam -out dh512.pem 512

dh1024.pem:
openssl dhparam -out dh1024.pem 1024

Expand Down
4 changes: 4 additions & 0 deletions test/fixtures/keys/dh512.pem
@@ -0,0 +1,4 @@
-----BEGIN DH PARAMETERS-----
MEYCQQDItkdipTrinQp7aKt0GtwY7QE6tMKpg+r1zeucMrq9uNp8uLhHkF1OtqnL
StFTzxQIkjN2s8exIvoWZWiy/9DTAgEC
-----END DH PARAMETERS-----
108 changes: 53 additions & 55 deletions test/parallel/test-crypto-x509.js
Expand Up @@ -52,36 +52,31 @@ if (!common.hasOpenSSL3)
infoAccessCheck += '\n';

const der = Buffer.from(
'308202d830820241a003020102020900ecc9b856270da9a830' +
'0d06092a864886f70d01010b0500307a310b30090603550406' +
'13025553310b300906035504080c024341310b300906035504' +
'070c025346310f300d060355040a0c064a6f79656e74311030' +
'0e060355040b0c074e6f64652e6a73310c300a06035504030c' +
'036361313120301e06092a864886f70d010901161172794074' +
'696e79636c6f7564732e6f72673020170d3138313131363138' +
'343232315a180f32323932303833303138343232315a307d31' +
'0b3009060355040613025553310b300906035504080c024341' +
'310b300906035504070c025346310f300d060355040a0c064a' +
'6f79656e743110300e060355040b0c074e6f64652e6a73310f' +
'300d06035504030c066167656e74313120301e06092a864886' +
'f70d010901161172794074696e79636c6f7564732e6f726730' +
'819f300d06092a864886f70d010101050003818d0030818902' +
'818100ef5440701637e28abb038e5641f828d834c342a9d25e' +
'dbb86a2bf6fbd809cb8e037a98b71708e001242e4deb54c616' +
'4885f599dd87a23215745955be20417e33c4d0d1b80c9da3de' +
'419a2607195d2fb75657b0bbfb5eb7d0bba5122d1b6964c7b5' +
'70d50b8ec001eeb68dfb584437508f3129928d673b30a3e0bf' +
'4f50609e63710203010001a361305f305d06082b0601050507' +
'01010451304f302306082b060105050730018617687474703a' +
'2f2f6f6373702e6e6f64656a732e6f72672f302806082b0601' +
'0505073002861c687474703a2f2f63612e6e6f64656a732e6f' +
'72672f63612e63657274300d06092a864886f70d01010b0500' +
'038181007acabf1d99e1fb05edbdd54608886dd6c509fc5820' +
'2be8274f8139b60f8ea219666f7eff9737e92a732b318ef423' +
'7da94123dcac4f9a28e76fe663b26d42482ac6d66d380bbdfe' +
'0230083e743e7966671752b82f692e1034e9bfc9d0cd829888' +
'6c6c996e7c3d231e02ad5399a170b525b74f11d7ed13a7a815' +
'f4b974253a8d66', 'hex');
'3082035c308202c5a003020102020900ecc9b856270da9aa300d06092a864886f70d0101' +
'0b0500307a310b3009060355040613025553310b300906035504080c024341310b300906' +
'035504070c025346310f300d060355040a0c064a6f79656e743110300e060355040b0c07' +
'4e6f64652e6a73310c300a06035504030c036361313120301e06092a864886f70d010901' +
'161172794074696e79636c6f7564732e6f72673020170d3232303930333134343635315a' +
'180f32323936303631373134343635315a307d310b3009060355040613025553310b3009' +
'06035504080c024341310b300906035504070c025346310f300d060355040a0c064a6f79' +
'656e743110300e060355040b0c074e6f64652e6a73310f300d06035504030c066167656e' +
'74313120301e06092a864886f70d010901161172794074696e79636c6f7564732e6f7267' +
'30820122300d06092a864886f70d01010105000382010f003082010a0282010100d45632' +
'0afb20d3827093dc2c4284ed04dfbabd56e1ddae529e28b790cd4256db273349f3735ffd' +
'337c7a6363ecca5a27b7f73dc7089a96c6d886db0c62388f1cdd6a963afcd599d5800e58' +
'7a11f908960f84ed50ba25a28303ecda6e684fbe7baedc9ce8801327b1697af25097cee3' +
'f175e400984c0db6a8eb87be03b4cf94774ba56fffc8c63c68d6adeb60abbe69a7b14ab6' +
'a6b9e7baa89b5adab8eb07897c07f6d4fa3d660dff574107d28e8f63467a788624c57419' +
'7693e959cea1362ffae1bba10c8c0d88840abfef103631b2e8f5c39b5548a7ea57e8a39f' +
'89291813f45a76c448033a2b7ed8403f4baa147cf35e2d2554aa65ce49695797095bf4dc' +
'6b0203010001a361305f305d06082b060105050701010451304f302306082b0601050507' +
'30018617687474703a2f2f6f6373702e6e6f64656a732e6f72672f302806082b06010505' +
'073002861c687474703a2f2f63612e6e6f64656a732e6f72672f63612e63657274300d06' +
'092a864886f70d01010b0500038181001f3ab6ce83b0af3a78a5de6707480de7e6a516d9' +
'207b9fd5facb77c7eed3d98458a186cd2ffebc91640ca124cf1a59a9b5e08e60bbda0f0b' +
'7458da6fc8dbc5b17a23436eba314c7aada265f70f5ab88f1902012dd2bfa8a92a5c0020' +
'914f5c83c6cda906381e2844ff37c20dcc720e88d3d01f1bf63aeb4b7427c047e7b44603',
'hex');

{
const x509 = new X509Certificate(cert);
Expand All @@ -93,24 +88,24 @@ const der = Buffer.from(
assert.strictEqual(x509.subjectAltName, undefined);
assert.strictEqual(x509.issuer, issuerCheck);
assert.strictEqual(x509.infoAccess, infoAccessCheck);
assert.strictEqual(x509.validFrom, 'Nov 16 18:42:21 2018 GMT');
assert.strictEqual(x509.validTo, 'Aug 30 18:42:21 2292 GMT');
assert.strictEqual(x509.validFrom, 'Sep 3 14:46:51 2022 GMT');
assert.strictEqual(x509.validTo, 'Jun 17 14:46:51 2296 GMT');
assert.strictEqual(
x509.fingerprint,
'D7:FD:F6:42:92:A8:83:51:8E:80:48:62:66:DA:85:C2:EE:A6:A1:CD');
'39:3C:63:64:25:25:9B:BC:5B:51:6D:05:EE:DA:6F:40:4A:E5:54:06');
assert.strictEqual(
x509.fingerprint256,
'B0:BE:46:49:B8:29:63:E0:6F:63:C8:8A:57:9C:3F:9B:72:C6:F5:89:E3:0D:' +
'84:AC:5B:08:9A:20:89:B6:8F:D6'
'05:C8:51:4C:42:C9:E7:6E:4D:78:BE:9B:48:F6:B6:C8:A0:97:7F:42:87:B5:' +
'06:97:E7:DE:A5:3A:4D:BE:BA:CC'
);
assert.strictEqual(
x509.fingerprint512,
'D0:05:01:82:2C:D8:09:BE:27:94:E7:83:F1:88:BC:7A:8B:D0:39:97:54:B6:' +
'D0:B4:46:5B:DE:13:5B:68:86:B6:F2:A8:95:22:D5:6E:8B:35:DA:89:29:CA:' +
'A3:06:C5:CE:43:C1:7F:2D:7E:5F:44:A5:EE:A3:CB:97:05:A3:E3:68'
'51:62:18:39:E2:E2:77:F5:86:11:E8:C0:CA:54:43:7C:76:83:19:05:D0:03:' +
'24:21:B8:EB:14:61:FB:24:16:EB:BD:51:1A:17:91:04:30:03:EB:68:5F:DC:' +
'86:E1:D1:7C:FB:AF:78:ED:63:5F:29:9C:32:AF:A1:8E:22:96:D1:02'
);
assert.strictEqual(x509.keyUsage, undefined);
assert.strictEqual(x509.serialNumber, 'ECC9B856270DA9A8');
assert.strictEqual(x509.serialNumber, 'ECC9B856270DA9AA');

assert.deepStrictEqual(x509.raw, der);

Expand Down Expand Up @@ -220,25 +215,28 @@ const der = Buffer.from(
'OCSP - URI': ['http://ocsp.nodejs.org/'],
'CA Issuers - URI': ['http://ca.nodejs.org/ca.cert']
}),
modulus: 'EF5440701637E28ABB038E5641F828D834C342A9D25EDBB86A2BF' +
'6FBD809CB8E037A98B71708E001242E4DEB54C6164885F599DD87' +
'A23215745955BE20417E33C4D0D1B80C9DA3DE419A2607195D2FB' +
'75657B0BBFB5EB7D0BBA5122D1B6964C7B570D50B8EC001EEB68D' +
'FB584437508F3129928D673B30A3E0BF4F50609E6371',
bits: 1024,
modulus: 'D456320AFB20D3827093DC2C4284ED04DFBABD56E1DDAE529E28B790CD42' +
'56DB273349F3735FFD337C7A6363ECCA5A27B7F73DC7089A96C6D886DB0C' +
'62388F1CDD6A963AFCD599D5800E587A11F908960F84ED50BA25A28303EC' +
'DA6E684FBE7BAEDC9CE8801327B1697AF25097CEE3F175E400984C0DB6A8' +
'EB87BE03B4CF94774BA56FFFC8C63C68D6ADEB60ABBE69A7B14AB6A6B9E7' +
'BAA89B5ADAB8EB07897C07F6D4FA3D660DFF574107D28E8F63467A788624' +
'C574197693E959CEA1362FFAE1BBA10C8C0D88840ABFEF103631B2E8F5C3' +
'9B5548A7EA57E8A39F89291813F45A76C448033A2B7ED8403F4BAA147CF3' +
'5E2D2554AA65CE49695797095BF4DC6B',
bits: 2048,
exponent: '0x10001',
valid_from: 'Nov 16 18:42:21 2018 GMT',
valid_to: 'Aug 30 18:42:21 2292 GMT',
fingerprint: 'D7:FD:F6:42:92:A8:83:51:8E:80:48:62:66:DA:85:C2:EE:A6:A1:CD',
valid_from: 'Sep 3 14:46:51 2022 GMT',
valid_to: 'Jun 17 14:46:51 2296 GMT',
fingerprint: '39:3C:63:64:25:25:9B:BC:5B:51:6D:05:EE:DA:6F:40:4A:E5:54:06',
fingerprint256:
'B0:BE:46:49:B8:29:63:E0:6F:63:C8:8A:57:9C:3F:9B:72:' +
'C6:F5:89:E3:0D:84:AC:5B:08:9A:20:89:B6:8F:D6',
'05:C8:51:4C:42:C9:E7:6E:4D:78:BE:9B:48:F6:B6:C8:A0:' +
'97:7F:42:87:B5:06:97:E7:DE:A5:3A:4D:BE:BA:CC',
fingerprint512:
'D0:05:01:82:2C:D8:09:BE:27:94:E7:83:F1:88:BC:7A:8B:' +
'D0:39:97:54:B6:D0:B4:46:5B:DE:13:5B:68:86:B6:F2:A8:' +
'95:22:D5:6E:8B:35:DA:89:29:CA:A3:06:C5:CE:43:C1:7F:' +
'2D:7E:5F:44:A5:EE:A3:CB:97:05:A3:E3:68',
serialNumber: 'ECC9B856270DA9A8'
'51:62:18:39:E2:E2:77:F5:86:11:E8:C0:CA:54:43:7C:76:83:19:05:D0:03:' +
'24:21:B8:EB:14:61:FB:24:16:EB:BD:51:1A:17:91:04:30:03:EB:68:5F:DC:' +
'86:E1:D1:7C:FB:AF:78:ED:63:5F:29:9C:32:AF:A1:8E:22:96:D1:02',
serialNumber: 'ECC9B856270DA9AA'
};

const legacyObject = x509.toLegacyObject();
Expand Down
4 changes: 2 additions & 2 deletions test/parallel/test-tls-cert-chains-concat.js
Expand Up @@ -25,15 +25,15 @@ connect({
assert.strictEqual(peer.subject.emailAddress, 'adam.lippai@tresorit.com');
assert.strictEqual(peer.subject.CN, 'Ádám Lippai');
assert.strictEqual(peer.issuer.CN, 'ca3');
assert.strictEqual(peer.serialNumber, 'D0082F458B6EFBE8');
assert.strictEqual(peer.serialNumber, '5B75D77EDC7FB5B7FA9F1424DA4C64FB815DCBDD');

const next = pair.client.conn.getPeerCertificate(true).issuerCertificate;
const root = next.issuerCertificate;
delete next.issuerCertificate;
debug('next:\n', next);
assert.strictEqual(next.subject.CN, 'ca3');
assert.strictEqual(next.issuer.CN, 'ca1');
assert.strictEqual(next.serialNumber, 'ECC9B856270DA9A7');
assert.strictEqual(next.serialNumber, 'ECC9B856270DA9A9');

debug('root:\n', root);
assert.strictEqual(root.subject.CN, 'ca1');
Expand Down
4 changes: 2 additions & 2 deletions test/parallel/test-tls-cert-chains-in-ca.js
Expand Up @@ -30,13 +30,13 @@ connect({

const peer = pair.client.conn.getPeerCertificate();
debug('peer:\n', peer);
assert.strictEqual(peer.serialNumber, 'D0082F458B6EFBE8');
assert.strictEqual(peer.serialNumber, '5B75D77EDC7FB5B7FA9F1424DA4C64FB815DCBDD');

const next = pair.client.conn.getPeerCertificate(true).issuerCertificate;
const root = next.issuerCertificate;
delete next.issuerCertificate;
debug('next:\n', next);
assert.strictEqual(next.serialNumber, 'ECC9B856270DA9A7');
assert.strictEqual(next.serialNumber, 'ECC9B856270DA9A9');

debug('root:\n', root);
assert.strictEqual(root.serialNumber, 'CB153AE212609FC6');
Expand Down
4 changes: 2 additions & 2 deletions test/parallel/test-tls-getcertificate-x509.js
Expand Up @@ -22,7 +22,7 @@ server.once('secureConnection', common.mustCall(function(socket) {
assert(cert instanceof X509Certificate);
assert.strictEqual(
cert.serialNumber,
'D0082F458B6EFBE8');
'5B75D77EDC7FB5B7FA9F1424DA4C64FB815DCBDD');
}));

server.listen(0, common.mustCall(function() {
Expand All @@ -35,7 +35,7 @@ server.listen(0, common.mustCall(function() {
assert.strictEqual(peerCert.issuerCertificate.issuerCertificate, undefined);
assert.strictEqual(
peerCert.issuerCertificate.serialNumber,
'ECC9B856270DA9A7'
'ECC9B856270DA9A9'
);
server.close();
}));
Expand Down
22 changes: 11 additions & 11 deletions test/parallel/test-tls-peer-certificate.js
Expand Up @@ -53,39 +53,39 @@ connect({

assert.ok(peerCert.issuerCertificate);
assert.strictEqual(peerCert.subject.emailAddress, 'ry@tinyclouds.org');
assert.strictEqual(peerCert.serialNumber, 'ECC9B856270DA9A8');
assert.strictEqual(peerCert.serialNumber, 'ECC9B856270DA9AA');
assert.strictEqual(peerCert.exponent, '0x10001');
assert.strictEqual(peerCert.bits, 1024);
assert.strictEqual(peerCert.bits, 2048);
// The conversion to bits is odd because modulus isn't a buffer, its a hex
// string. There are two hex chars for every byte of modulus, and 8 bits per
// byte.
assert.strictEqual(peerCert.modulus.length / 2 * 8, peerCert.bits);
assert.strictEqual(
peerCert.fingerprint,
'D7:FD:F6:42:92:A8:83:51:8E:80:48:62:66:DA:85:C2:EE:A6:A1:CD'
'39:3C:63:64:25:25:9B:BC:5B:51:6D:05:EE:DA:6F:40:4A:E5:54:06'
);
assert.strictEqual(
peerCert.fingerprint256,
'B0:BE:46:49:B8:29:63:E0:6F:63:C8:8A:57:9C:3F:9B:72:C6:F5:89:E3:0D:84:AC:' +
'5B:08:9A:20:89:B6:8F:D6'
);
'05:C8:51:4C:42:C9:E7:6E:4D:78:BE:9B:48:F6:B6:C8:A0:' +
'97:7F:42:87:B5:06:97:E7:DE:A5:3A:4D:BE:BA:CC',
);
assert.strictEqual(
peerCert.fingerprint512,
'D0:05:01:82:2C:D8:09:BE:27:94:E7:83:F1:88:BC:7A:8B:D0:39:97:54:B6:' +
'D0:B4:46:5B:DE:13:5B:68:86:B6:F2:A8:95:22:D5:6E:8B:35:DA:89:29:CA:' +
'A3:06:C5:CE:43:C1:7F:2D:7E:5F:44:A5:EE:A3:CB:97:05:A3:E3:68'
'51:62:18:39:E2:E2:77:F5:86:11:E8:C0:CA:54:43:7C:76:83:19:05:D0:03:' +
'24:21:B8:EB:14:61:FB:24:16:EB:BD:51:1A:17:91:04:30:03:EB:68:5F:DC:' +
'86:E1:D1:7C:FB:AF:78:ED:63:5F:29:9C:32:AF:A1:8E:22:96:D1:02'
);

// SHA256 fingerprint of the public key
assert.strictEqual(
sha256(peerCert.pubkey).digest('hex'),
'221fcc8593146e9eee65b2f7f9c1504993ece8de014657a4a1cde55c5e35d06e'
'490f8da0889339df5164d500b406de0af3249c174c2b60152528940fa116e9cc'
);

// HPKP / RFC7469 "pin-sha256" of the public key
assert.strictEqual(
sha256(peerCert.pubkey).digest('base64'),
'Ih/MhZMUbp7uZbL3+cFQSZPs6N4BRlekoc3lXF410G4='
'SQ+NoIiTOd9RZNUAtAbeCvMknBdMK2AVJSiUD6EW6cw='
);

assert.deepStrictEqual(peerCert.infoAccess['OCSP - URI'],
Expand Down
4 changes: 2 additions & 2 deletions test/parallel/test-tls-pfx-authorizationerror.js
Expand Up @@ -23,7 +23,7 @@ const server = tls
},
common.mustCall(function(c) {
assert.strictEqual(c.getPeerCertificate().serialNumber,
'ECC9B856270DA9A8');
'ECC9B856270DA9AA');
assert.strictEqual(c.authorizationError, null);
c.end();
})
Expand All @@ -42,7 +42,7 @@ const server = tls
// that .getCertificate() does not accidentally decrease the
// reference count of the X509* certificate on the native side.
assert.strictEqual(client.getCertificate().serialNumber,
'ECC9B856270DA9A8');
'ECC9B856270DA9AA');
}
client.end();
server.close();
Expand Down

0 comments on commit ccdd394

Please sign in to comment.