1// Flags: --expose-internals 2'use strict'; 3const common = require('../common'); 4 5if (!common.hasCrypto) 6 common.skip('missing crypto'); 7 8const assert = require('assert'); 9// Monkey-patch SecureContext 10const { internalBinding } = require('internal/test/binding'); 11const binding = internalBinding('crypto'); 12const NativeSecureContext = binding.SecureContext; 13 14binding.SecureContext = function() { 15 const rv = new NativeSecureContext(); 16 rv.setClientCertEngine = undefined; 17 return rv; 18}; 19 20const tls = require('tls'); 21 22{ 23 assert.throws( 24 () => { tls.createSecureContext({ clientCertEngine: 'Cannonmouth' }); }, 25 { 26 code: 'ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED', 27 message: 'Custom engines not supported by this OpenSSL' 28 } 29 ); 30} 31