1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6 7const assert = require('assert'); 8const { 9 generateKeyPair, 10} = require('crypto'); 11 12// Test EdDSA key generation. 13{ 14 if (!/^1\.1\.0/.test(process.versions.openssl)) { 15 ['ed25519', 'ed448', 'x25519', 'x448'].forEach((keyType) => { 16 generateKeyPair(keyType, common.mustSucceed((publicKey, privateKey) => { 17 assert.strictEqual(publicKey.type, 'public'); 18 assert.strictEqual(publicKey.asymmetricKeyType, keyType); 19 assert.deepStrictEqual(publicKey.asymmetricKeyDetails, {}); 20 21 assert.strictEqual(privateKey.type, 'private'); 22 assert.strictEqual(privateKey.asymmetricKeyType, keyType); 23 assert.deepStrictEqual(privateKey.asymmetricKeyDetails, {}); 24 })); 25 }); 26 } 27} 28