test_sign.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**
  2. * Created by bmf on 11/2/13.
  3. */
  4. var assert = require('assert');
  5. var sodium = require('../build/Release/sodium');
  6. var Sign = require('../lib/sign');
  7. var SignKey = require('../lib/keys/sign-key');
  8. if (process.env.COVERAGE) {
  9. Sign = require('../lib-cov/sign');
  10. SignKey = require('../lib-cov/keys/sign-key');
  11. }
  12. describe("Sign", function () {
  13. it("sign/verify message", function (done) {
  14. var sign = new Sign();
  15. var message = Buffer.from("This is a test", 'utf8');
  16. var signedMsg = sign.sign("This is a test", 'utf8');
  17. var checkMsg = Sign.verify(signedMsg);
  18. assert.equal(checkMsg.toString('utf8'),"This is a test");
  19. done();
  20. });
  21. it("sign/verify with existing key", function(done) {
  22. var key = new SignKey(
  23. 'DsWygyoTcB7/NT5OqRzT0eaFf+6bJBSSBRfDOyU3x9k=',
  24. 'Aav6yqemxoPNNqxeKJXMlruKxXEHLD931S8pXzxt4mkO' +
  25. 'xbKDKhNwHv81Pk6pHNPR5oV/7pskFJIFF8M7JTfH2Q==',
  26. 'base64');
  27. var sign = new Sign(key);
  28. var message = Buffer.from("This is a test", 'utf8');
  29. var signedMsg = sign.sign("This is a test", 'utf8');
  30. assert.equal(signedMsg.publicKey.toString('base64'),
  31. 'DsWygyoTcB7/NT5OqRzT0eaFf+6bJBSSBRfDOyU3x9k=');
  32. var checkMsg = Sign.verify(signedMsg);
  33. assert.equal(checkMsg.toString('utf8'), "This is a test");
  34. done();
  35. });
  36. it("sign/verify with key from seed", function(done) {
  37. var key = new SignKey.fromSeed('Aav6yqemxoPNNqxeKJXMlruKxXEHLD931S8pXzxt4mk=', 'base64');
  38. var sign = new Sign(key);
  39. var message = Buffer.from("This is a test", 'utf8');
  40. var signedMsg = sign.sign("This is a test", 'utf8');
  41. assert.equal(signedMsg.publicKey.toString('base64'),
  42. 'DsWygyoTcB7/NT5OqRzT0eaFf+6bJBSSBRfDOyU3x9k=');
  43. var checkMsg = Sign.verify(signedMsg);
  44. assert.equal(checkMsg.toString('utf8'), "This is a test");
  45. done();
  46. });
  47. });