git ssb

1+

Dominic / ssb-keys



Tree: 846e0d32e32e26a7f44d1af8f6315b457b5070a1

Files: 846e0d32e32e26a7f44d1af8f6315b457b5070a1 / test / index.js

1924 bytesRaw
1var tape = require('tape')
2var ssbkeys = require('../')
3
4var path = require('path').join(__dirname, 'keyfile')
5
6tape('create and load async', function (t) {
7 try { require('fs').unlinkSync(path) } catch(e) {}
8 ssbkeys.create(path, function(err, k1) {
9 if (err) throw err
10 ssbkeys.load(path, function(err, k2) {
11 if (err) throw err
12 t.equal(k1.id.toString('hex'), k2.id.toString('hex'))
13 t.equal(k1.private.toString('hex'), k2.private.toString('hex'))
14 t.equal(k1.public.toString('hex'), k2.public.toString('hex'))
15 t.end()
16 })
17 })
18})
19
20tape('create and load sync', function (t) {
21 try { require('fs').unlinkSync(path) } catch(e) {}
22 var k1 = ssbkeys.createSync(path)
23 var k2 = ssbkeys.loadSync(path)
24 t.equal(k1.id.toString('hex'), k2.id.toString('hex'))
25 t.equal(k1.private.toString('hex'), k2.private.toString('hex'))
26 t.equal(k1.public.toString('hex'), k2.public.toString('hex'))
27 t.end()
28})
29
30
31tape('sign and verify', function (t) {
32
33 var keys = ssbkeys.generate()
34 var msg = ssbkeys.hash("HELLO THERE?")
35 var sig = ssbkeys.sign(keys, msg)
36 console.log('public', keys.public)
37 console.log('sig', sig)
38 t.ok(sig)
39 t.equal(ssbkeys.getTag(sig), 'blake2s.ed25519')
40 t.ok(ssbkeys.verify(keys, sig, msg))
41
42 t.end()
43
44})
45
46tape('sign and verify, call with keys directly', function (t) {
47
48 var keys = ssbkeys.generate()
49 var msg = ssbkeys.hash("HELLO THERE?")
50 var sig = ssbkeys.sign(keys.private, msg)
51 console.log('public', keys.public)
52 console.log('sig', sig)
53 t.ok(sig)
54 t.equal(ssbkeys.getTag(sig), 'blake2s.ed25519')
55 t.ok(ssbkeys.verify(keys.public, sig, msg))
56
57 t.end()
58
59})
60
61tape('sign and verify a javascript object', function (t) {
62
63 var obj = require('../package.json')
64
65 console.log(obj)
66
67 var keys = ssbkeys.generate()
68 var sig = ssbkeys.signObj(keys.private, obj)
69 console.log(sig)
70 t.ok(sig)
71 t.ok(ssbkeys.verifyObj(keys, sig, obj))
72 t.end()
73
74})
75

Built with git-ssb-web