{"_id":"derived-key-storage","_rev":"5-36255d831deaae78eda812d7d4949966","name":"derived-key-storage","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"derived-key-storage","version":"1.0.0","description":"Derive a key and secret key file from a name","main":"index.js","dependencies":{"random-access-storage":"^1.4.0","thunky":"^1.0.3","varint":"^5.0.0"},"devDependencies":{"random-access-memory":"^3.1.1"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/derived-key-storage.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/derived-key-storage/issues"},"homepage":"https://github.com/mafintosh/derived-key-storage","gitHead":"b1898046f365e8ce17519cb4466f8278751f8c43","_id":"derived-key-storage@1.0.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Lu0wFrydu6k9zXoBERq31A+jUPHRjtiKLf4ZtAgK5x0uYVqZSDWR9bot5jACsY8LGWw3czus1vt9o3FFy0llOg==","shasum":"07a06f297091434c5bcdb8595fb847ef0425d2a1","tarball":"https://registry.npmjs.org/derived-key-storage/-/derived-key-storage-1.0.0.tgz","fileCount":4,"unpackedSize":4811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJddiu3CRA9TVsSAnZWagAAtLAP/17lLMFixPmUYTCKo9c5\nVSAzdiZPwWu2pFiurb/dYBLU+DAajBImYMdu9uRWGSgJvMA1pTwGTmtozbWz\nrXaokz9gRoqeAxSLjY7mqCeEzOlJonNcnTmktTxoRF3tpB4HtjMviXxbVfmb\n49u6oMP+sOc+YvqGYYIikTkftqXl9l++AzuRpLRqPiws74sC2FWXEt8IZIRg\ncJVw7FZ5Hx0+3Yw7WDJov2ydqWZrl3YCdGfeY7sJ1m7MicrPAGsmwjJHD7Kr\nLspIG6MOEDzJCXC+u0KyXZ8rNIoERt4sbumunKtCQ/FPtqw1NrAqkZ5C2Rgs\nvoIlQEUI6yCGZDskTt7rqygU3UbtF1P+62pNAWrin8BDpTNsys1R4GGd7Y0a\n+pZm9bJDPdkQmvG6C7F3rQBbP6sm/BWimNdb9P3LcfheOd8ielL12W9cyfUx\nu3nwe3lR4B2YrIpheDMLvNTjSH66xwfs27I4eG9j3L8uyBNxL8CylLr6zoIw\nGXUjUMqQyJ7MChmuM0DwvB+G1u0LltJxrefO6v0jZNu7ifEkcZv1fJt0jm5z\nPiQUg0VMnm7+u6dFE3rIARSgFLDYVmDzQqzDWs+CbX12xsKWgOB7LlDLB3hQ\nbbdvKVYPhtOKp8Kj8oSkcTBD4Qi89pWzC15lExyGc8V0Mk9Nwn0EFcPOuzod\nV1VK\r\n=+Y0B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCH9OEXEcAtN6ZiHWyVVl+GmCqXpPgQXpN/XGZ5BMoudQIgfIkukMtWurFu/rspeEApsOiVYiPKgmN5AbG4MpABAAU="}]},"maintainers":[{"name":"mafintosh","email":"mathiasbuus@gmail.com"}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/derived-key-storage_1.0.0_1568025526793_0.32830649334791095"},"_hasShrinkwrap":false},"2.0.0":{"name":"derived-key-storage","version":"2.0.0","description":"Derive a key and secret key file from a name","main":"index.js","dependencies":{"random-access-storage":"^1.4.0","thunky":"^1.0.3","varint":"^5.0.0"},"devDependencies":{"derive-key":"^1.0.0","hypercore":"^7.6.1","hypercore-crypto":"^1.0.0","random-access-file":"^2.1.3","random-access-memory":"^3.1.1"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/derived-key-storage.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/derived-key-storage/issues"},"homepage":"https://github.com/mafintosh/derived-key-storage","gitHead":"3b57eef05e5733e23053cc1e124a3802c49efb28","_id":"derived-key-storage@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"andrewosh","email":"andrewosh@gmail.com"},"dist":{"integrity":"sha512-oQaUE39p31NICCQuDJGLzrVtsOx3tu1+rzvCc7xTCtR327PXxL03qPvZHuBJj03YWd0wNsN2gA17I0kvqX9NGw==","shasum":"352374bb500e3f2e6f225e020c3a4e0859b0ef8b","tarball":"https://registry.npmjs.org/derived-key-storage/-/derived-key-storage-2.0.0.tgz","fileCount":5,"unpackedSize":6685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdd3f0CRA9TVsSAnZWagAACTwP/RzlQFt+Yj2cylpHRLDa\nHAI58iVdEPreFV7WEnUFlUvh0lfzHx3SB5myUFFG0JUP1uPZoYQvgmfK2oM4\nKCRcRkispU9so2Bo+xcxnajnlOGrSIgBIPjNQH4C/kL4/m1u5M9qgQkVjnAN\no52YQ1B/tdM9V3Afkssr31PlywpPGnswql1/Q5Vt9HiOKAFD4d076jibgt1c\nJe6eycr+oy49e6dFG6VBJDEjG2GxAw3HA+Pga2s6UJQ2z7TC3cRcKutvV0rH\n/94KAQDYak0awisHIwkGz4BdOhdU347bxtTyPiFRRw60G9V8K9zkzIiNO0Q/\nGzVMmnz6PdrBPy5LtoCvP6hMjYE6Nd0pbwHNi7zDkqtqAcjSxOfnsyq8VgXW\nZMwct4yXuVy6hPqPiVDIw8SENDGyNKD7g2ZndMTTzXYlPjMHD4+DYpgSdFbF\nRpT1urmNxv7X2FBFgWQMrIXlsP1j6Ani4KCsEowSO74JcQOMamHojLRDoZlZ\n0/X1rJNcoGD0migoLBdUQbnMLax07Rs9THIB7aYyNEVcNQVL8wnw+DugC2qa\nNGwvUR0owU6HCMXOLx6E1pZ0hK9ThEhBGygbaNvoYE/yg/I3okQG+cR2O+da\n8+7UsiIS/5NripgCwdiVAvA0KcDCPCTfVX20HZ8H6iKIP95OUdMCp8J9ZDA1\nHPSr\r\n=fCff\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFT0h/qXZ9En8bzyvZWAomuk+yTErdC7DoD5trHStHOUAiAHRI4f16l6/RKFCfJA4FC/NOOxGd8/k7Tpy2PwLSvlKw=="}]},"maintainers":[{"email":"andrewosh@gmail.com","name":"andrewosh"},{"email":"mathiasbuus@gmail.com","name":"mafintosh"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/derived-key-storage_2.0.0_1568110580129_0.07722077709554043"},"_hasShrinkwrap":false},"2.0.1":{"name":"derived-key-storage","version":"2.0.1","description":"Derive a key and secret key file from a name","main":"index.js","dependencies":{"random-access-storage":"^1.4.0","thunky":"^1.0.3","varint":"^5.0.0"},"devDependencies":{"derive-key":"^1.0.0","hypercore":"^7.6.1","hypercore-crypto":"^1.0.0","random-access-file":"^2.1.3","random-access-memory":"^3.1.1"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/derived-key-storage.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/derived-key-storage/issues"},"homepage":"https://github.com/mafintosh/derived-key-storage","gitHead":"813d2ed0ae2d1715ea057d57a1f3855f6ef4b9d7","_id":"derived-key-storage@2.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"andrewosh","email":"andrewosh@gmail.com"},"dist":{"integrity":"sha512-nTNmTghMPIuVtvbIeU34QcbphQJr8U9dx2qGvGyWuU7JqPx4CFvCPeiauUmAgUTginhgPXv2TrDYH4kIaq+Qbw==","shasum":"0a343cec23114a97c8eca2e134311005e1bd0d1b","tarball":"https://registry.npmjs.org/derived-key-storage/-/derived-key-storage-2.0.1.tgz","fileCount":5,"unpackedSize":6656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdd7l+CRA9TVsSAnZWagAAWjoP/0qITzkzsWqYyaby9sIn\nJQaq0Jio5urDmkebf5GKdFw4NGigvY4fh7JNtoHDCevMuWd6o4TmhbeP/x3i\nlmw/YWOm12tfwN7LfS801hHjUS5uPYkw7yFPqeFnAoCeWkXjRSJ25exJAEKp\n4s4gGgkZJwGM7+38OC/aHFIHaVRGEFktXCmDQCkQtY3nHbgcMWwvBbn5OQyj\nLT7L+Yffxfe/tADb381XcUlt1TyfvCH5GQpdyNc91tkIMOyoyxLIFGzuQHG/\n+Ym4BxOelfJI88RlVemJtO5GmJtrm9R/ZSnqRNJAB7wIMOXDksttA3rWZWky\nyud3nTr4Hm5CS7vwzIz5/1Qzj0IdMwpXJ7litdSNSevmXRJpL5nG/sEiTkdL\nAm4jPer9V4Ql5wS7Tw2Q2nbdmIXGWUieQVqlDXnEYhlu6eE9CfE9kq7sPE+u\nzSUNgY4gXGSx1hcwWtebCAhJpBjG+Q+xJn3d20BIxgI0ZMLxpxkvmoAI1jK5\nJNt8ysoAH5Sv8TdVZGTyL7nk6BWnTs1SnOOqDtO1n3vzH6Gd4zQwbo8OskXM\nM87eMgexEA71o1FZlyddew7BotFCFBrIAbGCoaR9i6sKWI9yceWWAFzHgkwI\nlQW8aDODjGV3Nc68X+hK7OjZaZZgyt16vhnp/+TXch6LtHabgmz1dBTBPkJw\nHaZI\r\n=xEOn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkrBqrWIwcajYVVVzyutzQhidoIY3TmMfT/DtqD7ivXwIhAL7zNLJXP12VYifwNL3GS56IPMkq8LH1o/XOMaC7wuSp"}]},"maintainers":[{"email":"andrewosh@gmail.com","name":"andrewosh"},{"email":"mathiasbuus@gmail.com","name":"mafintosh"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/derived-key-storage_2.0.1_1568127357984_0.2660868097888376"},"_hasShrinkwrap":false},"2.1.0":{"name":"derived-key-storage","version":"2.1.0","description":"Derive a key and secret key file from a name","main":"index.js","dependencies":{"random-access-storage":"^1.4.0","thunky":"^1.0.3","varint":"^5.0.0"},"devDependencies":{"derive-key":"^1.0.0","hypercore":"^7.6.1","hypercore-crypto":"^1.0.0","random-access-file":"^2.1.3","random-access-memory":"^3.1.1"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/derived-key-storage.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/derived-key-storage/issues"},"homepage":"https://github.com/mafintosh/derived-key-storage","gitHead":"9bb4b2996fa2556de20332da1e229ced7c16237f","_id":"derived-key-storage@2.1.0","_nodeVersion":"13.9.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-4RKKrpf2YouCASaRHqUvyxtHABGLH7UJWNXPjsJxMvzCj4tettUvuyGsmP2/mpGYhSda7caZkS2oP4rqWjgkZg==","shasum":"b6ee6cdead00c95130276ad511ac183175b6b556","tarball":"https://registry.npmjs.org/derived-key-storage/-/derived-key-storage-2.1.0.tgz","fileCount":5,"unpackedSize":7346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehKzOCRA9TVsSAnZWagAApKMP/1Z+0xlaYpthvYFNhv3I\n/6bu2m/NH4GVE04VAksH9N/3k92ehs712nxaqpE9WMl+k0sn6fAAyF9mtljw\nDkj3E/iPn2pyCoLNGnIn5ye6Wkev59VYZ0UN/ik+OD+O9Jgd08MjHr7O0pU1\ntiDR7g/fuQMpZFHIy+3gcI3OHkutrqJPW3qf52YpA5QAoaKioixEh2M5UTqF\ndj/fg4jlNeCeWNEbobhv0G1n5cD0JC7IJvIiRxBuNiF3KgbIyWZ9fi0wnrMF\nBVTcFVYESjxfGJaf2U9oWsXf7w+qMM63FOUC2xV7l73AxOLxyZxwVB+9xNVg\nAkE1U7WQ2Sf3bzc6MFlKnrBXWaMilRjzegOCkJjamTPlO9uKn/akYSGFFfgV\nbhQ4Ans037QWkNeaoXGt0FM1Jzz60lcJv3KWuL341sKE0C/Gwk5KBzzF04vI\nlYq4r3w69uUNN80SYqA7X6ziYeXp6EdAsdgGZLOaLC/0xnnmT1+bYXpCE61d\nfxrjvwuc3kqgz4emuuAaQhr7jUZPeMSfOnTAW8jH3XAGkd4ZchCTFy0MkFP8\nHNZLMXqYd+wkIKV91JKOG/HgVZxAhm98gqXwJADeeShM1KaEbSiAeUY09QSH\n3/2bSyXv0djXe/nUVM8wE9vvospBBmdSBQzmW17cCV5CvJ0kfB5LsLO3TDBq\n6t2p\r\n=aaBx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUnbQ5b/stO/PQFMdKjKabR5v723hDZLApL/qzhxG3GAIhAIXaHo5xNsBugGdLk4gzrRCh3MDZWKsDcBJnxKTUVaJ7"}]},"maintainers":[{"email":"andrewosh@gmail.com","name":"andrewosh"},{"email":"mathiasbuus@gmail.com","name":"mafintosh"}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/derived-key-storage_2.1.0_1585753293737_0.6144890126723441"},"_hasShrinkwrap":false}},"time":{"created":"2019-09-09T10:38:46.792Z","1.0.0":"2019-09-09T10:38:46.907Z","modified":"2022-04-28T10:33:16.942Z","2.0.0":"2019-09-10T10:16:20.270Z","2.0.1":"2019-09-10T14:55:58.130Z","2.1.0":"2020-04-01T15:01:33.926Z"},"maintainers":[{"email":"andrewosh@gmail.com","name":"andrewosh"},{"email":"mathiasbuus@gmail.com","name":"mafintosh"}],"description":"Derive a key and secret key file from a name","homepage":"https://github.com/mafintosh/derived-key-storage","repository":{"type":"git","url":"git+https://github.com/mafintosh/derived-key-storage.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"bugs":{"url":"https://github.com/mafintosh/derived-key-storage/issues"},"license":"MIT","readme":"# derived-key-storage\n\nDerive a key and secret key file from a name.\n\n```\nnpm install derived-key-storage\n```\n\n## Usage\n\n``` js\nconst derivedStorage = require('derived-key-storage')\nconst raf = require('random-access-file')\n\nconst { key, secretKey } = derivedStorage(name => raf(name), (name, cb) => {\n  // derive your keypair here ...\n  // if name is null, this keypair is fresh, otherwise derive from that name\n  // you can optionally return a secret key without a name, and that will be stored instead.\n  cb(null, {\n    name,\n    publicKey,\n    secretKey\n  })\n})\n\nkey.read(0, 32, (err, buf) => {\n  console.log('public key is', err, buf)\n})\n```\n\n## API\n\n#### `{ key, secretKey } = derivedStorage(storage, deriver)`\n\nCreate a new key pair instance. Returns two random-access-storage instances, one for the public key and one for the secret key.\nThe storage function you pass in will be used to store the name of the keypair. The deriver function should look like this:\n\n```\nfunction (name, cb) {\n  cb(null, {\n    name,\n    publicKey,\n    secretKey\n  })\n}\n```\n\nWhere `name` is a buffer or null containing the name of the keypair. If the name is null you need to return the name of the keypair\nback to the callback as it still will be written along with a length prefix to the storage you pass in.\n\nIf you do not with to derive your secret key from a name, you can override the derivation by returning a secret key and a `null`\nname from this function.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}