New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sovrin-did

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sovrin-did - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

16

index.js

@@ -20,2 +20,16 @@ var nacl = require("tweetnacl");

var verifySignedMessage = function(signedMessage, verifyKey) {
var decodedKey = bs58.decode(verifyKey);
var signed = nacl.sign.open(signedMessage, decodedKey);
return signed !== null;
};
var signMessage = function(message, signKey, verifyKey) {
verifyKey = bs58.decode(verifyKey);
signKey = bs58.decode(signKey);
var fullSignKey = Buffer.concat([signKey, verifyKey]);
var arrayMessage = Uint8Array.from(message);
return nacl.sign(arrayMessage, fullSignKey);
};
module.exports = {

@@ -27,2 +41,4 @@ gen: function(){

fromSeed: fromSeed,
signMessage: signMessage,
verifySignedMessage: verifySignedMessage,
};

2

package.json
{
"name": "sovrin-did",
"version": "1.0.0",
"version": "1.1.0",
"description": "node.js module to generate DID and Ed25519 keys to use with Sovrin",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -63,3 +63,52 @@ # node-sovrin-did

### sovrinDID.signMessage(message, signKey, verifyKey)
Signs a message with the given signKey and verifyKey.
* The message should be a string.
* Both the signKey and verifyKey should be the signKey and verifyKey given from the `gen()` or `fromSeed(seed)` methods
Returns a signed message as a Uint8Array (i.e. Buffer).
Example:
```js
var sovrin = sovrinDID.gen();
var signKey = sovrin.secret.signKey;
var verifyKey = sovrin.verifyKey;
var message = "Hello World!!";
var signedMessage = sovrinDID.signMessage(message, signKey, verifyKey);;
```
### sovrinDID.verifySignedMessage(signedMessage, verifyKey)
Verifies that the given message has been signed by the possessor of the given verifyKey.
* The signedMessage should be what is returned from the `signMessage(message, signKey, verifyKey)` method
* The verifyKey should be the verifyKey given from the `gen()` or `fromSeed(seed)` methods
Returns `true` if the message was signed by the owner of the verifyKey `false` otherwise.
Example:
```js
var sovrin = sovrinDID.gen();
var sovrin2 = sovrinDID.gen();
var signKey = sovrin.secret.signKey;
var verifyKey = sovrin.verifyKey;
var verifyKey2 = sovrin2.verifyKey;
var message = "Hello World!!";
var signedMessage = sovrinDID.signMessage(message, signKey, verifyKey);
console.log(sovrinDID.verifySignedMessage(signedMessage, verifyKey));
console.log(sovrinDID.verifySignedMessage(signedMessage, verifyKey2))
```
Output:
```
true
false
```
## License
MIT

@@ -72,1 +72,33 @@ var test = require("tape");

});
test("sovrinDID.signMessage(message, signKey, verifyKey)", function (t) {
var signKey = "4bMnc36WuLYJqsWTZtiazJJrtkvPwgyWnirn7gKk7ium";
var verifyKey = "BzH5a2wLEyKxySUALpfBiBjHZtZudCG68J17QwWkRsdN";
var message = "Hello World!!";
var signedMessage = sovrinDID.signMessage(message, signKey, verifyKey);
t.notEqual(message, signedMessage);
t.end();
});
test("sovrinDID.verifySignedMessage(signedMessage, verifyKey)", function (t) {
var signKey = "4bMnc36WuLYJqsWTZtiazJJrtkvPwgyWnirn7gKk7ium";
var verifyKey = "BzH5a2wLEyKxySUALpfBiBjHZtZudCG68J17QwWkRsdN";
var verifyKey2 = "QDQ7Y69yg6eeJNstq62rXw8mK8HmnnsocPwvo9DU2tS";
var signKey2 = "516mChDX1BRjwHJc2w838W8cXxy8a6Eb35HKXjPR2fD8";
var message = "Hello World!!";
var message2 = "I want to take over the world!!";
var signedMessage = sovrinDID.signMessage(message, signKey, verifyKey);
var signedMessage2 = sovrinDID.signMessage(message2, signKey2, verifyKey2);
t.equal(sovrinDID.verifySignedMessage(signedMessage, verifyKey), true);
t.equal(sovrinDID.verifySignedMessage(signedMessage, verifyKey2), false);
t.equal(sovrinDID.verifySignedMessage(signedMessage2, verifyKey2), true);
t.equal(sovrinDID.verifySignedMessage(signedMessage2, verifyKey), false);
t.end();
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc