diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000000000..93bc0662b7b834 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "node", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/test/parallel/package-lock.json b/test/parallel/package-lock.json new file mode 100644 index 00000000000000..88ee07f4c54021 --- /dev/null +++ b/test/parallel/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "parallel", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/test/parallel/test-crypto-private-decrypt.js b/test/parallel/test-crypto-private-decrypt.js new file mode 100644 index 00000000000000..e58dd24a5549b8 --- /dev/null +++ b/test/parallel/test-crypto-private-decrypt.js @@ -0,0 +1,22 @@ +// file: test-crypto-private-decrypt.js +const crypto = require('crypto'); +const keys = crypto.generateKeyPairSync( + 'rsa', + { + modulusLength: 2048, + publicKeyEncoding: { type: 'spki', format: 'pem' }, + privateKeyEncoding: { type: 'pkcs8', format: 'pem' }, + } +); +const empty = ''; +const ciphertext = crypto.publicEncrypt({ + oaepHash:'sha1', + padding: crypto.constants.RSA_PKCS1_OAEP_PADDING, + key: keys.publicKey, +}, Buffer.from(empty)); +const plaintext = crypto.privateDecrypt({ + oaepHash: 'sha1', + padding: crypto.constants.RSA_PKCS1_OAEP_PADDING, + key: keys.privateKey +}, ciphertext).toString('utf8'); +console.assert(empty === plaintext, 'rsa-oaep `encrypt` empty string is success, but `decrypt` got unexpected string.'); \ No newline at end of file