0003-key-generation.test.ts (910B)
1 import tap = require('tap'); 2 import pbkdf2 = require('pbkdf2'); 3 import KeyPair from '../src/index'; 4 5 (async () => { 6 7 const seed = pbkdf2.pbkdf2Sync('password', 'NaCl', 1, 32, 'sha512'); 8 const kp = await KeyPair.create(seed); 9 10 tap.ok(Buffer.isBuffer(kp.publicKey), 'Created keypair has buffer as publicKey'); 11 tap.ok(Buffer.isBuffer(kp.secretKey), 'Created keypair has buffer as secretKey'); 12 13 // Convince TSC the keys are buffers 14 if (!kp.publicKey) throw new Error(); 15 if (!kp.secretKey) throw new Error(); 16 17 tap.ok(kp.publicKey.length == 32, 'Generated publicKey has length of 32 bytes'); 18 tap.ok(kp.secretKey.length == 64, 'Generated secretKey has length of 64 bytes'); 19 20 // Verify the same key is always generated from that one seed 21 tap.ok(kp.publicKey.toString('hex') == 'e4dfe299f037f094e9951abb4552977705902b0c42a7153192e803449c70a729', 'Got expected publicKey from known salt'); 22 })();