| 'use strict'; |
| |
| const common = require('../common'); |
| if (!common.hasCrypto) |
| common.skip('missing crypto'); |
| |
| const assert = require('assert'); |
| const { |
| generateKeyPair, |
| } = require('crypto'); |
| |
| // This tests check that generateKeyPair returns correct bit length in |
| // KeyObject's asymmetricKeyDetails. |
| // https://github.com/nodejs/node/issues/46102#issuecomment-1372153541 |
| { |
| generateKeyPair('rsa', { |
| modulusLength: 513, |
| }, common.mustSucceed((publicKey, privateKey) => { |
| assert.strictEqual(privateKey.asymmetricKeyDetails.modulusLength, 513); |
| assert.strictEqual(publicKey.asymmetricKeyDetails.modulusLength, 513); |
| })); |
| |
| generateKeyPair('rsa-pss', { |
| modulusLength: 513, |
| }, common.mustSucceed((publicKey, privateKey) => { |
| assert.strictEqual(privateKey.asymmetricKeyDetails.modulusLength, 513); |
| assert.strictEqual(publicKey.asymmetricKeyDetails.modulusLength, 513); |
| })); |
| |
| if (common.hasOpenSSL3) { |
| generateKeyPair('dsa', { |
| modulusLength: 2049, |
| divisorLength: 256, |
| }, common.mustSucceed((publicKey, privateKey) => { |
| assert.strictEqual(privateKey.asymmetricKeyDetails.modulusLength, 2049); |
| assert.strictEqual(publicKey.asymmetricKeyDetails.modulusLength, 2049); |
| })); |
| } |
| } |