From 2b791d8697ec559bc638fdf0fe975a7bcbd28120 Mon Sep 17 00:00:00 2001 From: Filip Skokan Date: Mon, 1 Apr 2019 17:00:11 +0200 Subject: [PATCH] crypto: fix crash of encrypted private key export without cipher PR-URL: https://github.com/nodejs/node/pull/27041 Reviewed-By: Ben Noordhuis Reviewed-By: Ruben Bridgewater Signed-off-by: Beth Griggs --- test/parallel/test-crypto-key-objects.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/parallel/test-crypto-key-objects.js b/test/parallel/test-crypto-key-objects.js index f02a4a7e518d84..9c1ad7021b95c9 100644 --- a/test/parallel/test-crypto-key-objects.js +++ b/test/parallel/test-crypto-key-objects.js @@ -181,3 +181,17 @@ const privatePem = fixtures.readSync('test_rsa_privkey.pem', 'ascii'); message: 'The value "undefined" is invalid for option "cipher"' }); } + +{ + // Exporting an encrypted private key requires a cipher + const privateKey = createPrivateKey(privatePem); + common.expectsError(() => { + privateKey.export({ + format: 'pem', type: 'pkcs8', passphrase: 'super-secret' + }); + }, { + type: TypeError, + code: 'ERR_INVALID_OPT_VALUE', + message: 'The value "undefined" is invalid for option "cipher"' + }); +}