diff options
author | Brian White <mscdex@mscdex.net> | 2019-02-26 05:24:38 -0500 |
---|---|---|
committer | Brian White <mscdex@mscdex.net> | 2019-03-12 09:25:14 -0400 |
commit | 247c14c040026252814c3d4e8cffb8ac8748180e (patch) | |
tree | a8a56782a2533cc8716c2074f4d6897baa62ff6e /test/parallel/test-crypto-key-objects.js | |
parent | 4562697feb85a3c73d31d9f4d857bae7d24d7846 (diff) | |
download | android-node-v8-247c14c040026252814c3d4e8cffb8ac8748180e.tar.gz android-node-v8-247c14c040026252814c3d4e8cffb8ac8748180e.tar.bz2 android-node-v8-247c14c040026252814c3d4e8cffb8ac8748180e.zip |
crypto: fix EdDSA support for KeyObject
PR-URL: https://github.com/nodejs/node/pull/26319
Fixes: https://github.com/nodejs/node/issues/26316
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Diffstat (limited to 'test/parallel/test-crypto-key-objects.js')
-rw-r--r-- | test/parallel/test-crypto-key-objects.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/parallel/test-crypto-key-objects.js b/test/parallel/test-crypto-key-objects.js index 8515743992..c324dea8f9 100644 --- a/test/parallel/test-crypto-key-objects.js +++ b/test/parallel/test-crypto-key-objects.js @@ -170,3 +170,34 @@ const privatePem = fixtures.readSync('test_rsa_privkey.pem', 'ascii'); createPrivateKey({ key: '' }); }, /null/); } + +[ + { private: fixtures.readSync('test_ed25519_privkey.pem', 'ascii'), + public: fixtures.readSync('test_ed25519_pubkey.pem', 'ascii'), + keyType: 'ed25519' }, + { private: fixtures.readSync('test_ed448_privkey.pem', 'ascii'), + public: fixtures.readSync('test_ed448_pubkey.pem', 'ascii'), + keyType: 'ed448' } +].forEach((info) => { + const keyType = info.keyType; + + { + const exportOptions = { type: 'pkcs8', format: 'pem' }; + const key = createPrivateKey(info.private); + assert.strictEqual(key.type, 'private'); + assert.strictEqual(key.asymmetricKeyType, keyType); + assert.strictEqual(key.symmetricKeySize, undefined); + assert.strictEqual(key.export(exportOptions), info.private); + } + + { + const exportOptions = { type: 'spki', format: 'pem' }; + [info.private, info.public].forEach((pem) => { + const key = createPublicKey(pem); + assert.strictEqual(key.type, 'public'); + assert.strictEqual(key.asymmetricKeyType, keyType); + assert.strictEqual(key.symmetricKeySize, undefined); + assert.strictEqual(key.export(exportOptions), info.public); + }); + } +}); |