aboutsummaryrefslogtreecommitdiff
path: root/lib/internal/errors.js
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2018-05-18 11:05:20 +0200
committerBen Noordhuis <info@bnoordhuis.nl>2018-06-13 15:58:45 +0200
commit371103dae8b97264471e17de1989199ffcd2718e (patch)
tree4fb8517aa00fdbd0a6315719d04f2cd7211b753a /lib/internal/errors.js
parent58176e352c7b4fe6042fc31283a79d8de4cdb569 (diff)
downloadandroid-node-v8-371103dae8b97264471e17de1989199ffcd2718e.tar.gz
android-node-v8-371103dae8b97264471e17de1989199ffcd2718e.tar.bz2
android-node-v8-371103dae8b97264471e17de1989199ffcd2718e.zip
crypto: add scrypt() and scryptSync() methods
Scrypt is a password-based key derivation function that is designed to be expensive both computationally and memory-wise in order to make brute-force attacks unrewarding. OpenSSL has had support for the scrypt algorithm since v1.1.0. Add a Node.js API modeled after `crypto.pbkdf2()` and `crypto.pbkdf2Sync()`. Changes: * Introduce helpers for copying buffers, collecting openssl errors, etc. * Add new infrastructure for offloading crypto to a worker thread. * Add a `AsyncWrap` JS class to simplify pbkdf2(), randomBytes() and scrypt(). Fixes: https://github.com/nodejs/node/issues/8417 PR-URL: https://github.com/nodejs/node/pull/20816 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Diffstat (limited to 'lib/internal/errors.js')
-rw-r--r--lib/internal/errors.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/internal/errors.js b/lib/internal/errors.js
index 54201d0d1e..af844692d7 100644
--- a/lib/internal/errors.js
+++ b/lib/internal/errors.js
@@ -500,7 +500,8 @@ E('ERR_CRYPTO_HASH_FINALIZED', 'Digest already called', Error);
E('ERR_CRYPTO_HASH_UPDATE_FAILED', 'Hash update failed', Error);
E('ERR_CRYPTO_INVALID_DIGEST', 'Invalid digest: %s', TypeError);
E('ERR_CRYPTO_INVALID_STATE', 'Invalid state for operation %s', Error);
-
+E('ERR_CRYPTO_SCRYPT_INVALID_PARAMETER', 'Invalid scrypt parameter', Error);
+E('ERR_CRYPTO_SCRYPT_NOT_SUPPORTED', 'Scrypt algorithm not supported', Error);
// Switch to TypeError. The current implementation does not seem right.
E('ERR_CRYPTO_SIGN_KEY_REQUIRED', 'No key provided to sign', Error);
E('ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH',