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>
This commit is contained in:
Bryan English 2016-08-19 13:56:58 -07:00
parent 611a648c66
commit 26174fcfe1
3 changed files with 6 additions and 5 deletions

View File

@ -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,

View File

@ -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');

View File

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