%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); if (!common.hasCrypto) common.skip('node compiled without crypto.'); const fixtures = require('../common/fixtures'); // This test ensures that TLS does not fail to read a self-signed certificate // and thus throw an `authorizationError`. // https://github.com/nodejs/node/issues/5100 const assert = require('assert'); const tls = require('tls'); const pfx = fixtures.readKey('agent1.pfx'); const server = tls .createServer( { pfx: pfx, passphrase: 'sample', requestCert: true, rejectUnauthorized: false }, common.mustCall(function(c) { assert.strictEqual(c.getPeerCertificate().serialNumber, 'ECC9B856270DA9A8'); assert.strictEqual(c.authorizationError, null); c.end(); }) ) .listen(0, function() { const client = tls.connect( { port: this.address().port, pfx: pfx, passphrase: 'sample', rejectUnauthorized: false }, function() { for (let i = 0; i < 10; ++i) { // Calling this repeatedly is a regression test that verifies // that .getCertificate() does not accidentally decrease the // reference count of the X509* certificate on the native side. assert.strictEqual(client.getCertificate().serialNumber, 'ECC9B856270DA9A8'); } client.end(); server.close(); } ); });