Browse Source

crypto: expose ECDH class

For consistency with the rest of the crypto classes, exposes the ECDH
class. Originally, only the createECDH function was exposed, and there
was no real reason to hide the class.

PR-URL: https://github.com/nodejs/node/pull/8188
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
canary-base
Bryan English 8 years ago
parent
commit
26174fcfe1
  1. 7
      lib/crypto.js
  2. 3
      lib/internal/crypto/diffiehellman.js
  3. 1
      test/parallel/test-crypto-classes.js

7
lib/crypto.js

@ -79,10 +79,6 @@ const {
} = require('internal/crypto/util');
const Certificate = require('internal/crypto/certificate');
function createECDH(curve) {
return new ECDH(curve);
}
module.exports = exports = {
// Methods
_toBuf: toBuf,
@ -92,7 +88,7 @@ module.exports = exports = {
createDecipheriv: Decipheriv,
createDiffieHellman: DiffieHellman,
createDiffieHellmanGroup: DiffieHellmanGroup,
createECDH,
createECDH: ECDH,
createHash: Hash,
createHmac: Hmac,
createSign: Sign,
@ -124,6 +120,7 @@ module.exports = exports = {
Decipheriv,
DiffieHellman,
DiffieHellmanGroup,
ECDH,
Hash,
Hmac,
Sign,

3
lib/internal/crypto/diffiehellman.js

@ -168,6 +168,9 @@ DiffieHellman.prototype.setPrivateKey = function setPrivateKey(key, encoding) {
function ECDH(curve) {
if (!(this instanceof ECDH))
return new ECDH(curve);
if (typeof curve !== 'string')
throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'curve', 'string');

1
test/parallel/test-crypto-classes.js

@ -18,6 +18,7 @@ const TEST_CASES = {
'Verify': ['RSA-SHA1'],
'DiffieHellman': [1024],
'DiffieHellmanGroup': ['modp5'],
'ECDH': ['prime256v1'],
'Credentials': []
};

Loading…
Cancel
Save