summaryrefslogtreecommitdiff
path: root/test/parallel/test-crypto-key-objects.js
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2019-02-26 05:24:38 -0500
committerBrian White <mscdex@mscdex.net>2019-03-12 09:25:14 -0400
commit247c14c040026252814c3d4e8cffb8ac8748180e (patch)
treea8a56782a2533cc8716c2074f4d6897baa62ff6e /test/parallel/test-crypto-key-objects.js
parent4562697feb85a3c73d31d9f4d857bae7d24d7846 (diff)
downloadandroid-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.js31
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);
+ });
+ }
+});