diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/public-encrypt/test/nodeTests.js | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/public-encrypt/test/nodeTests.js')
| -rw-r--r-- | node_modules/public-encrypt/test/nodeTests.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/public-encrypt/test/nodeTests.js b/node_modules/public-encrypt/test/nodeTests.js new file mode 100644 index 00000000..f022e071 --- /dev/null +++ b/node_modules/public-encrypt/test/nodeTests.js @@ -0,0 +1,51 @@ +var crypto = require('../browser') +var test = require('tape') +var fs = require('fs') +var Buffer = require('safe-buffer').Buffer +var path = require('path') +// Test RSA encryption/decryption +test('node tests', function (t) { + var keyPem = fs.readFileSync(path.join(__dirname, 'test_key.pem'), 'ascii') + var rsaPubPem = fs.readFileSync(path.join(__dirname, 'test_rsa_pubkey.pem'), + 'ascii') + var rsaKeyPem = fs.readFileSync(path.join(__dirname, 'test_rsa_privkey.pem'), + 'ascii') + var rsaKeyPemEncrypted = fs.readFileSync(path.join( + __dirname, 'test_rsa_privkey_encrypted.pem'), 'ascii') + var input = 'I AM THE WALRUS' + var bufferToEncrypt = Buffer.from(input) + + var encryptedBuffer = crypto.publicEncrypt(rsaPubPem, bufferToEncrypt) + + var decryptedBuffer = crypto.privateDecrypt(rsaKeyPem, encryptedBuffer) + t.equal(input, decryptedBuffer.toString()) + + var decryptedBufferWithPassword = crypto.privateDecrypt({ + key: rsaKeyPemEncrypted, + passphrase: 'password' + }, encryptedBuffer) + t.equal(input, decryptedBufferWithPassword.toString()) + + // encryptedBuffer = crypto.publicEncrypt(certPem, bufferToEncrypt); + + // decryptedBuffer = crypto.privateDecrypt(keyPem, encryptedBuffer); + // t.equal(input, decryptedBuffer.toString()); + + encryptedBuffer = crypto.publicEncrypt(keyPem, bufferToEncrypt) + + decryptedBuffer = crypto.privateDecrypt(keyPem, encryptedBuffer) + t.equal(input, decryptedBuffer.toString()) + + encryptedBuffer = crypto.privateEncrypt(keyPem, bufferToEncrypt) + + decryptedBuffer = crypto.publicDecrypt(keyPem, encryptedBuffer) + t.equal(input, decryptedBuffer.toString()) + + t.throws(function () { + crypto.privateDecrypt({ + key: rsaKeyPemEncrypted, + passphrase: 'wrong' + }, encryptedBuffer) + }) + t.end() +}) |
