summaryrefslogtreecommitdiff
path: root/lib/crypto.js
diff options
context:
space:
mode:
authorFedor Indutny <fedor@indutny.com>2014-08-23 17:38:32 +0400
committerFedor Indutny <fedor@indutny.com>2014-08-27 00:24:57 +0400
commit6adf3ecebb42c05662f7c6a792953589ffdfd4dc (patch)
treeaeee42cb757d6a5e13959dc11c8e225c269e685b /lib/crypto.js
parent8a7d7f8b2b40f670d2fceb14d7d16cda1bea6bcf (diff)
downloadnode-new-6adf3ecebb42c05662f7c6a792953589ffdfd4dc.tar.gz
crypto: allow padding in RSA methods
Reviewed-By: Trevor Norris <trevnorris@gmail.com>
Diffstat (limited to 'lib/crypto.js')
-rw-r--r--lib/crypto.js9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/crypto.js b/lib/crypto.js
index 16a3e38e25..828c0f4310 100644
--- a/lib/crypto.js
+++ b/lib/crypto.js
@@ -355,14 +355,17 @@ Verify.prototype.verify = function(object, signature, sigEncoding) {
return this._handle.verify(toBuf(object), toBuf(signature, sigEncoding));
};
-exports.publicEncrypt = function(object, buffer) {
- return binding.publicEncrypt(toBuf(object), buffer);
+exports.publicEncrypt = function(options, buffer) {
+ var key = options.key || options;
+ var padding = options.padding || constants.RSA_PKCS1_OAEP_PADDING;
+ return binding.publicEncrypt(toBuf(key), buffer, padding);
};
exports.privateDecrypt = function(options, buffer) {
var key = options.key || options;
var passphrase = options.passphrase || null;
- return binding.privateDecrypt(toBuf(key), buffer, passphrase);
+ var padding = options.padding || constants.RSA_PKCS1_OAEP_PADDING;
+ return binding.privateDecrypt(toBuf(key), buffer, padding, passphrase);
};