// Flags: --no-use-system-ca 'use strict'; // This tests tls.setDefaultCACertificates() support ArrayBufferView. const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); const tls = require('tls'); const fixtures = require('../common/fixtures'); const { assertEqualCerts } = require('../common/tls'); const fixtureCert = fixtures.readKey('fake-startcom-root-cert.pem'); // Should accept Buffer. tls.setDefaultCACertificates([Buffer.from(fixtureCert)]); const result = tls.getCACertificates('default'); assertEqualCerts(result, [fixtureCert]); // Reset it to empty. tls.setDefaultCACertificates([]); assertEqualCerts(tls.getCACertificates('default'), []); // Should accept Uint8Array. const encoder = new TextEncoder(); const uint8Cert = encoder.encode(fixtureCert); tls.setDefaultCACertificates([uint8Cert]); const uint8Result = tls.getCACertificates('default'); assertEqualCerts(uint8Result, [fixtureCert]); // Reset it to empty. tls.setDefaultCACertificates([]); assertEqualCerts(tls.getCACertificates('default'), []); // Should accept DataView. const dataViewCert = new DataView(uint8Cert.buffer, uint8Cert.byteOffset, uint8Cert.byteLength); tls.setDefaultCACertificates([dataViewCert]); const dataViewResult = tls.getCACertificates('default'); assertEqualCerts(dataViewResult, [fixtureCert]);