%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('missing crypto'); common.requireNoPackageJSONAbove(); const fixtures = require('../common/fixtures'); const assert = require('assert'); const { spawnSync } = require('child_process'); const fs = require('fs'); const crypto = require('crypto'); const depPolicy = fixtures.path('policy', 'dep-policy.json'); const dep = fixtures.path('policy', 'dep.js'); const emptyHash = crypto.createHash('sha512'); emptyHash.update(''); const emptySRI = `sha512-${emptyHash.digest('base64')}`; const policyHash = crypto.createHash('sha512'); policyHash.update(fs.readFileSync(depPolicy)); /* eslint-disable max-len */ // When using \n only const nixPolicySRI = 'sha512-u/nXI6UacK5fKDC2bopcgnuQY4JXJKlK3dESO3GIKKxwogVHjJqpF9rgk7Zw+TJXIc96xBUWKHuUgOzic8/4tQ=='; // When \n is turned into \r\n const windowsPolicySRI = 'sha512-OeyCPRo4OZMosHyquZXDHpuU1F4KzG9UHFnn12FMaHsvqFUt3TFZ+7wmZE7ThZ5rsQWkUjc9ZH0knGZ2e8BYPQ=='; /* eslint-enable max-len */ const depPolicySRI = `${nixPolicySRI} ${windowsPolicySRI}`; { const { status, stderr } = spawnSync( process.execPath, [ '--policy-integrity', emptySRI, '--experimental-policy', depPolicy, dep, ] ); assert.ok(stderr.includes('ERR_MANIFEST_ASSERT_INTEGRITY')); assert.strictEqual(status, 1); } { const { status, stderr } = spawnSync( process.execPath, [ '--policy-integrity', '', '--experimental-policy', depPolicy, dep, ] ); assert.ok(stderr.includes('--policy-integrity')); assert.strictEqual(status, 9); } { const { status, stderr } = spawnSync( process.execPath, [ '--policy-integrity', depPolicySRI, '--experimental-policy', depPolicy, dep, ] ); assert.strictEqual(status, 0, `status: ${status}\nstderr: ${stderr}`); }