1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6 7const assert = require('assert'); 8const { 9 generateKeyPairSync, 10} = require('crypto'); 11 12// Test sync key generation with key objects with a non-standard 13// publicExponent 14{ 15 const { publicKey, privateKey } = generateKeyPairSync('rsa', { 16 publicExponent: 3, 17 modulusLength: 512 18 }); 19 20 assert.strictEqual(typeof publicKey, 'object'); 21 assert.strictEqual(publicKey.type, 'public'); 22 assert.strictEqual(publicKey.asymmetricKeyType, 'rsa'); 23 assert.deepStrictEqual(publicKey.asymmetricKeyDetails, { 24 modulusLength: 512, 25 publicExponent: 3n 26 }); 27 28 assert.strictEqual(typeof privateKey, 'object'); 29 assert.strictEqual(privateKey.type, 'private'); 30 assert.strictEqual(privateKey.asymmetricKeyType, 'rsa'); 31 assert.deepStrictEqual(privateKey.asymmetricKeyDetails, { 32 modulusLength: 512, 33 publicExponent: 3n 34 }); 35} 36