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.
13{
14  const { publicKey, privateKey } = generateKeyPairSync('rsa', {
15    modulusLength: 512
16  });
17
18  assert.strictEqual(typeof publicKey, 'object');
19  assert.strictEqual(publicKey.type, 'public');
20  assert.strictEqual(publicKey.asymmetricKeyType, 'rsa');
21  assert.deepStrictEqual(publicKey.asymmetricKeyDetails, {
22    modulusLength: 512,
23    publicExponent: 65537n
24  });
25
26  assert.strictEqual(typeof privateKey, 'object');
27  assert.strictEqual(privateKey.type, 'private');
28  assert.strictEqual(privateKey.asymmetricKeyType, 'rsa');
29  assert.deepStrictEqual(privateKey.asymmetricKeyDetails, {
30    modulusLength: 512,
31    publicExponent: 65537n
32  });
33}
34