{"_id":"simple-handshake","_rev":"10-9ea859dafb139215e61615a448d427ea","name":"simple-handshake","dist-tags":{"latest":"3.0.0"},"versions":{"0.0.0":{"name":"simple-handshake","version":"0.0.0","description":"Simple Noise handshake over streams","main":"index.js","dependencies":{"duplexify":"^3.6.0","nanoassert":"^1.1.0","noise-protocol":"^0.1.1"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"d86433a2adeb763949be492afcebc3f85cd01406","_id":"simple-handshake@0.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"integrity":"sha512-vIORe2LBaYagKYSAPSCRYYsq2uTR6dFD2eVGrEaa2zg0y5yPXJ5A87JloBSplmjYZbtVelkYfIXPgM7ZQjtGIg==","shasum":"afef52ac39e3c192780f6c8544d1023f300690ef","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-0.0.0.tgz","fileCount":7,"unpackedSize":8137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbtLGACRA9TVsSAnZWagAAPecQAIQ2FNmqCJZ4x0q61yLK\ntjQV17b4MuqYeAqplNvBnozK//gD90MeQkNUZQey2uzbmPiBziEqHqt+Ov9L\n+go2pkqwEbR4HzME/d6U4PIe+DSGjhgoAvtnUzDhyEL9r2tvj6HrHH6DUM2O\niAcLksjTsVVI20hseICqXREzALETmt8sHbiaLFU3HNxrFXPwurbHyBBE+sjz\nYLPUmG7Fc1dsElGLETYw0h/d9QNOAy7CVs7ccpDxtKKzovkHbw+Msa/HeVOa\nugR1rGFybd+aXIv0Hu1D/7oAaxZt7JlfFNn7WihFfuN9XuoC/W4WxnU9H+F3\nfYsOwyHZzQXHwBwqxvaGozc+uN2H+aD6QEJN80iSbqPxMoGDfTig+dGVt658\nXoGEoekgjabIaeuMyFd7VrYKOdN43PbqDN/ooFaUy0tIUr+SDez09PIhTaOk\njUDTU8fXiPgTd0O1wM5h2Y5AQ83QR6mrWTGgR8nlg3BQVwUizHmIIg/XkseJ\nCJeW9KhRmt/qctVREmdejwA/gUBWky0T5Jh8fUXfOcJUm8opK+fdAeBnd0GN\nTKIOAsPRiGBUqCkoKY7MjkaBcV/ZbZsVTdwr9Ys29AeaMKYxA7tKoGbVStk2\nGp/JuvmE5+frA5SOm6aKEuu7OuO9aI/7/aI8rndAC1Oy2tSlvKjnbUcmGm7j\nE8h5\r\n=89ud\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZsp2fCyDyivbPVfeiHVwEe91JrkvsIOh6y6DDVAVi9QIhANIJFWpdGlCYjZlWYmSYEY1H2WiSKbw+cPu4OAHTVurc"}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_0.0.0_1538568575616_0.08645113319516518"},"_hasShrinkwrap":false},"1.0.1":{"name":"simple-handshake","version":"1.0.1","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^1.1.0","noise-protocol":"^0.2.1"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"7c40d24e90a0e5482d4e980e1f0ed12c8836af6b","_id":"simple-handshake@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"integrity":"sha512-btZ51A2/yekjASMi75k5LmdCUsuyNREDP6GeASRKuTATGpySeA1+y5rfZDo2yc5BwzPje+Dh7HUKmdNW4SRlcA==","shasum":"9ee081eacc045afc4fb161d630675f56ff0fa5e9","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-1.0.1.tgz","fileCount":7,"unpackedSize":12134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbuwywCRA9TVsSAnZWagAAu3AP/3QaJGUeTrA2qRZuLaXY\nbeBK6cT0uLXmDL1neb/U3snVYsAFDyXtWRBywNO1kEO/n8HcG4gW12ceKjb5\nLoGFiVy7JiOIOl+nham0McxO2Y2XK5obCnSBtwNe7IacwoM0NaoLav4PCOh2\nSXRy1nTaLiFM6M3JrAAms8Jb8LBIhrkQU+rHJvioXkhNUzWA2u28MhJLAqhZ\nRn7ML3tgVay0olP9ivvtINWmlQxfPQN3soo7qrn0uaPwySP/5Nww6H+IbfHg\n/LovUQKXWKWiADpIxbOiOPpEwwMwZ3ROUx5njQ6iOO5mhEcmN6PSQeZFQQeQ\nTo9F5oEy43xuts+Tex106A59UpOgnkOrl1KFIef+ZgGpxsexh3DrVKTYFO2W\n0e6rJ3/FEdqKzJj85E+kvzx7obZXV+qYGWCD3gsrF0j3EFiyf0IojDlIhg2l\nHlV4qfCW0PIIfp8BzdgEVGHwvqxDK+m7p9KSumdsUx7S+eTz2AwSQ2dCTonX\nkxb6LXWzCqfKigYMeQp3Lg0Myc+y8cUdnioMltX/qnrZXqsMS9VzUtc5EQxE\nVZUPOh+HQWhiM96Vv+eGxKd3JeBTWPj3hbBWQ19/JoWefwuQ3YBs/OJYiqyh\nY7ELJ0+FBwPtISca8NE3xhRrJ/3TLuIcNUX96Xp+6+ON6sTNnTvpbd3mK3ez\nVNSs\r\n=/YtC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBBsht1g/yrdwTJdJFRFJrUYga+/+P9b70brG921ZD00AiEAmtZQTAqnZw8wHzYW9o1Z2HRu1sArjjl3jnouxq/GrhQ="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_1.0.1_1538985136185_0.5919697745462407"},"_hasShrinkwrap":false},"1.1.0":{"name":"simple-handshake","version":"1.1.0","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^1.1.0","noise-protocol":"^0.2.1"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"dcb0693be7e82084550872049f7d1e9e6254ef63","_id":"simple-handshake@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"integrity":"sha512-0BqHJjlqQxwSh+aP0nffOY/HZFRv+gwgruQmYzePas1Axhywvn/P7RQspnBkmm4MnWHLKrPClsl5BkRWgKA7zg==","shasum":"646350303061ec4f4fab1a0b61082266fc8a3c26","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-1.1.0.tgz","fileCount":7,"unpackedSize":12180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6+qaCRA9TVsSAnZWagAAKysP/i3m7NyWbOkYgIjrx7jX\nAhW8rs89RgOA69NUORbFWEzP351cQtx3aFZtQdG+lGqc/Eh7gtLKVgTpyS4h\ncKzTb0uuUGRENiQnvbwdMTMnb6e7Kqq+o+y604aiPiR5M3fiyQ4zU+A4Qunh\nPd9R9BoafyfZ5DPajbyL17STqrAHcnrTW6v+7ic0uGUy7oMyVLSpcbheFdav\ntrNwCbQFISvnhTX/qWHvk2Nn4aR7OLD2QOBrsAlrUw2g0QnLJCF+Z+wUgzKu\nE3UMtCq12bQBXsbAaA9FMqT6SaRNeOcDS4gWInRVq0zJ6P9vtQPF2WRRWkam\naxnRP/WP4ZXrZ4pHbhEMQto2yYfxhZl3JcwEMNCtqb7oSSP2MWBXV0xx1vNO\njcLhSZL8OxUu5Bpc5eAuLJmZMjeVPcZiF8laPHJK19sTp5/nBm+tFAKi8QD6\nd3z3xAtoljRLM3OnN46PDu4g6n++Wpy/QFOSPIFWRKnH6WGOdf6qkUD4rfMZ\nUeD2scAHsnjPO/1mKwbJ07rGKK64vgZ0zcCqQ90l3Olq/luJ+lPbf0onQru3\nR7aAecbKb7E/N0klPq1B0gvFl6eoK83PAwoOjd/JwXmmic/SlG+W7cjvWcbh\n471zKGUGhOZM34YtwxoD7Yv/bDkD0q3Bw9Vi81ftpJDHA5IAmCu811dao8Mt\n4SCs\r\n=YEgU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfwYDp4moAyBnQrqEE6Ok5xOmyJujFBgfzq0iRWvq3rAiASfI736XPylrT8Zdxh22o5qeboLeYMTM82f738OlZs7A=="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_1.1.0_1542187673834_0.4692145649932429"},"_hasShrinkwrap":false},"1.1.1":{"name":"simple-handshake","version":"1.1.1","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^1.1.0","noise-protocol":"^0.3.0"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"24ee63098a362134434e2d1e773bbe0a66a0274f","_id":"simple-handshake@1.1.1","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"integrity":"sha512-bIO48aBlyIoKs0j5gzWp/ecJ+oVSvkZBxh/ubY6qsKR43rJ8f+a4oEDXPs9saMOi99e5+MAWUM7LIJQPY7UdEA==","shasum":"a411e7754d919a0c94e36643c3c7d4b5402a3dd2","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-1.1.1.tgz","fileCount":7,"unpackedSize":12180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb6/BXCRA9TVsSAnZWagAACWYP/jztvzEYZYz8DcFV0yzt\nv2cN4P70vQj0YxWoymthUohQ5iRnBiKLs/2niBo3wp2OaIHe220hK2laivEW\nhoj3LG1HswQehcsoJJvD+ga5fUCgLw2U/75SpENaVboM/Vn/evEikGPqJv2I\nUEcfSLgZ+nqZmsHcBaHCk2cTQgTJgIBGPRh3ilz1xd76Qo1OmTgw/FCKXcUx\nwwiVlqX0R5JGwrEUg+VfRPDjrbDqlP8LTsoK122ld2JAeOQgo7jJtV5OtYH3\nQXCT7NFkGnpcksxD/+VvpjXB1dXNKDFCZuiZ40M6vHfHbHbWJsqjk+K8z6Dj\n6MAd5pyVfofUaezMpgBP6MSHB6mhqJ7K2eclvIwjpzm6xuy6B5xxxjzkUeUK\nOI4+9CYwZgZloycECblUmNHbmOzG1pbCWlvxGT+AxYRmE5Whr8iUWaaC8vF1\nPWdS19FsxPgVHg47s2UEID6ldY6OixObjcgtObw+1fwub2T12LCGyDb1tK7E\nCNTwLuzmK9VwXX5QMGY9L98otjUCUsvNEa/9GoujFh5XjBP/7UJEJkrRawCH\ndLt/H5LIwAjE4AROvLzL0mXqlOsihHgCUBrdVBtiWJZT/IEUX2JEVZPetT+l\nA2/QAzrHEaCk0gVsGYsgkPH5KjSgHEkXxqXwPYzNoH6FEN5ThE5yQyJ7Zu6i\n4Dfu\r\n=zMRh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDx/F5XSarGmkc6GlfajEGuvRAVp9UMVC2HTOqQ5fIi/wIgKxFVm8k62VopvqqkCePjQPWUyBU21JIFS2u/MNj5+Rk="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_1.1.1_1542189142484_0.2809941582593616"},"_hasShrinkwrap":false},"1.1.2":{"name":"simple-handshake","version":"1.1.2","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^1.1.0","noise-protocol":"^1.0.0"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"4d4155a4e94de40a1449a321b140308f0617d312","_id":"simple-handshake@1.1.2","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"dist":{"integrity":"sha512-19muIG07A/AIzmvjq7f+1tvWJy8Ex/LEZtTqE8zoQrT+kBOXZwZUFEwYWvWSzJ+JiEV1cp2hDPfQm/Gfq2JbRw==","shasum":"cf9d0acd7520c5412ec02fbbf2cddbd8e2146c0f","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-1.1.2.tgz","fileCount":7,"unpackedSize":12180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7AeoCRA9TVsSAnZWagAAoNEP/097GcJlV3LoA0X8C/YC\n52BqxEtoWQ8SnpbbCGIq75tvPNhVWLZ7hOtoeLx6aBLUANVwadWkpKAfsyRk\nNRwVE6reLQFTel1MATOb5yK122DYBi1lEyFRSU1cuLSkevQme67Ln07/tp1a\nqL4qpGV/ydinhUokNXO0XW+/SH7fDLXslGG7IGFglmISi9ts9ohs2AGP3Nvo\ndSpYHggOQREEYvfdCi0I9GWOYr1PN1j7KGMwMrMcYD0B0NGcqeLbYKZOqWmo\nRwWR8NETx0JxN90c8W6Oyq9xgtdFJswh/3CWN9bEA+A9+WH/kio2lcgrg2rw\nDu2A62Y7y/6BxGRXozB2M/D+2BrLTovyqPJuwJ0CExhP3WxQlFtVGLDKFnna\nUwZ6KyCkGK+lhEhAqyqn9ydsxPrqHTswb5DU93JmQzUZc4h6+n3D2nhzzvDW\nISx6bGph4AStRMLOQePZKr1yiwEnAbEXpQwqHISqpGIMcNv0qz+qskJQjI1c\nBg0dWYuyWIcTVhVkL7GLf9iEH1bi8Oc3t9CIMaFwhbeTDUmnXNwUOEVF+YYW\nUrP4iQUX94e5dJQXUi9GZr64gVdkBzUWu1rQf+Byo3oy8bTDa18CIbYCtnyq\nv8AofJTgK1Mfw5h9fjKljWywxYMUJFU7nWgvGbO+GC2WeRYJf/JdNCfFtEI8\nHDEl\r\n=XZk0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBvUt5dXSmOKjZDZBaVhEnBm8zB3+vV5ZRTzghdM1yfrAiEAslEK79mFVUauQb5soo2w5pHxEjsRBhL+rP52D3MqpJ4="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_1.1.2_1542195111919_0.2585129913316413"},"_hasShrinkwrap":false},"1.2.0":{"name":"simple-handshake","version":"1.2.0","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^1.1.0","noise-protocol":"^1.0.0"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"8aad42ea1ca81f97c97452b718677ac1a38f4521","_id":"simple-handshake@1.2.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-7o8YV1B2VGJn17J0u+gtjGW61KEE6bb7mSosEVH9kM82me/IrK6JxgFAEIzR77raiie1mu88bLKOMi7CGucNNw==","shasum":"47b21c0ab06fe3015d32d5e3742c184ffc1e4cc0","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-1.2.0.tgz","fileCount":7,"unpackedSize":12716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNrlOCRA9TVsSAnZWagAASq8P/1lICMt5SmEj+y3JEjQl\nCAijMw243UrlGxYmCVybFECZQ5K3hSBiqYDpykccljAMPQJUWdBAyQmzyV5/\nr5exHbkzNLkT6UYK3mD5BVDG98a0USRlzWlZ0TLVjVrLiahymKuCOYQVCNf1\n5gtyl/np2zbrd1CyIxP/ra1gDgSt6PzkNtSTiwO0lguavMOmjhZD3zK9LdWi\nfI64mjRUymlr1/TmXVWkTL90utSWn5BDVHRsrwGBsQ2Z05TpBPSMcdlCrPTJ\nQHcFDh3Xyjna7lCR4hWUQOjYlyebNQOMUJMvQepWiuADYEweCJKP1L6z+qmK\nDQyLM9IHEr64jLWw68Z6mg8w06LaqoC2EwvnjZnv3ZIkG2bxaec8q855F+zK\nOLRdeCobdudeC3ZWuYMpHDsMsCYCSGoMf4QQj/S1u3fugb/yIu8SBD6pbgA5\ncD4SXvXE6AXBUUNzQdcNQZLSUMCjfLGjeXAuneOIe0vLti5BpRg7qXY7rbHS\nn9kFJtGt9U0JCNN9d65nVk3DWiJGSQE5IvHfHsV8iJbcHOOkff5/5DfXD6cZ\nerZaQ4tmPSJYPNq46EkrRllfvCtHW2FFBJt32kYrYhgE5FGak1+K1nvgDtzB\n7qj6oL/etf5+7NOFQXTIpPz/ZECC47a1iRk7JqqlPDrZDNPVvHxa8MAtdLdW\nIDRY\r\n=Sk2c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFG9iM+4+07UyqSQ+fp1vdeNHnYdYJY5v4T3UgLr3NYOAiEAikdVKhZU2fbWNTxfPqSoT7myYH/g/gwsyFR/7X52X6s="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_1.2.0_1563867469606_0.7066058496272907"},"_hasShrinkwrap":false},"1.3.0":{"name":"simple-handshake","version":"1.3.0","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^1.1.0","noise-protocol":"^1.0.0"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"dd3fbae0f6f8ea50bb241ea9f4a0471c070dcaf0","_id":"simple-handshake@1.3.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-v4Bt92KQCsKfVXDTpa2jkXWuOrKkxei3Wr6VLvfU/qWmJK4q8cRN/rCUqnW+i0RIqKfyfiHg/X+fSH5w/8/cbQ==","shasum":"7901d7b97046f876d276c64e6347d61c5ab49e99","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-1.3.0.tgz","fileCount":7,"unpackedSize":13991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdN1iZCRA9TVsSAnZWagAAXZsP/RxyPnY74nj6ah3ak9hl\nWWLUsPqo5Kte2GVz4d/20Mn3zufmB/9n1WfG6/qSCP8T7H5/H8VFSg7nIbA6\n2Zvc8Y3+JjUooX0JDhbjbqlheZC4Gn1RCaacc1OXhXLYQN+GMcxMPunX2z9t\nZGX+f9sIXyUH/HxGjckSvco4he2yheMZUaEAe8vrNl7clsS2WSECDCDrzbxN\npzGO5Z++xxt7ZRW53ACNUlVZsRQguBdtjqv7urTd8ZfFbDtv2wio005CP468\nr/x68vruPcSAzUhqroBTu3HbqgyynSL2TR7HA5MCFqxY6ZiGsA7ZajPo0Usu\ng7OJ3n0ZQqt5U846SmTIEQ36sqjkUV2IYwvHkZU457Of9+MThC/RekggtoRb\nz7XnRbAiImsct9Ksqe4lXHMqpQxH+8vXskj76UKaxQ70vVej8QPlOTDXc0MM\nQhE8kt7j3fnmhagXtyqt72lTK6coLrgCqQmbFwo7LxuXfVG7yRV8kKDqzSRX\ns6mhDAz0TNso2PEr65iueAng0nnypGeVsIcKtQy+woVWSTVnq54rPAxDOeaC\n2QaYHq4d7Ag62Kxjh4XqP9GjoVQGVleP2UDPKHCgj6RjUalM9kUPuspSJGBz\nPb5XRZxmOuMUFT4C/oOeC6gOZV0l5UsGZXxGAD0jXK+IZ3QrOor1LneBlYJD\nqu8c\r\n=2BCB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCetRd2QYtaxorb/+ahFxypPuX4G4Tpw8KE+yLPYOldVQIgXtemNF9jGHQqb7RPIxHFb8aOWtRX1tnlrd27ZtB8XrU="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_1.3.0_1563908249148_0.8262427028608723"},"_hasShrinkwrap":false},"1.3.1":{"name":"simple-handshake","version":"1.3.1","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^1.1.0","noise-protocol":"^1.0.0"},"devDependencies":{"tape":"^4.8.0"},"scripts":{"test":"tape test.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"9117b084403fc7146953fa9987026516a71e2fe3","_id":"simple-handshake@1.3.1","_nodeVersion":"12.10.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-3Q6FjXdVFCa5JiLsWFl9s/Wp9hfBI9OqGfnlA/fUqIgR8M6zykFMxgGmV7M3YFbBkXYXQYayj6D6aFDejQcPjA==","shasum":"3f3d3ef103cb59e25f85c6b5952a631659e53411","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-1.3.1.tgz","fileCount":8,"unpackedSize":20833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdclmjCRA9TVsSAnZWagAAygcP/RSy5JJoR8rgemssQukx\nQWRzb+XhnVfHdSgoYebNW4kWcVXZCw6OPlbZ7njOm3rghMHu1K9pOtrE5U30\nMLZ2RAm0qeCxO+6zrRP6fsXB0fGn+KuXdBmVH0RtBHO2Kb65nAXaPx9Z84Xj\n/qcdHWiElXIFzg4VYlR2g3lZ5i+IbDHtL2VltA4fl5u9qxZTf8hphwnWaxbs\n84D1uf7OYfIkkUzYIjI2v5cwmLP0yMWkSoB3+EUh7FgM3NJSgVu0kDg91npp\nz42Fp7l3ctPs3BdCQG71YBLPY71KXAtoBFemlYHb0VkteEPuZx9QpKcA8Fqq\npxPnae39uK8ipfOTy9vuaI5eG0I1N7MK37HrP4SdOfbGwKQ1YjscY62cj01p\nFHB8YfSHl7MubpeFfjVQ5LjdYC1WOcWeI0FpsMyEHs08/SkNYa5Kqotz6bu/\noLADoV05bQ0GPbrvzJgJmEsoIHHFGMtcLDc9hggXTda+BQNcBJHvlQFjsGsF\n2u1ff5JDGN1CJYZVk0gJH0mPOgpfb1ip4G1GxwhePE4D9MLTLvrIv5PC3Glo\nMuncWoWrnNNb1tQlcMaU2DsUvyRt9DUOyxWRr+7cZPjXEKehp0ixCcLD570l\nE0ZM9BF6gwcPtxVeeBtwDasgGnI/rcCivgoy/VFlKw37gRs7gdGx/NdAGaT3\nKmds\r\n=8j+S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/g3e8nOtHNgmbrv5t/enUhzjmPVvEuPxGKtJzvtM6CQIgXBvMEkjR1jlDXSD1mvP683TQJyaFwf96w0wOHqDYcws="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_1.3.1_1567775138639_0.2692741708707913"},"_hasShrinkwrap":false},"2.0.0":{"name":"simple-handshake","version":"2.0.0","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^2.0.0","noise-protocol":"^2.0.0"},"devDependencies":{"standard":"^14.3.4","tape":"^4.8.0"},"scripts":{"pretest":"standard","test":"tape tests/*.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"93db05e2f0d3ef1299ca958d827a1b0197dc81a7","_id":"simple-handshake@2.0.0","_nodeVersion":"14.2.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-9f832LFISpuUaL5yG9HccJ/wW8BlqqANC8DGcNTcKStG2Yjp6kaoq8IdEtUXbRe0sD+qoxAiluDiurmGHNBLjA==","shasum":"ad6bf4e3b4b2929c2caeb6ca7b5d0e0f69ffece6","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-2.0.0.tgz","fileCount":7,"unpackedSize":19346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuzDMCRA9TVsSAnZWagAAKFsP/Rx5j8D+yomQ/AA2MiZN\n5g3xIPmPHZ3y336au6GyubhF/VTly7fJn8aWXN13B+T2ybCoP5L4sGvPS/iT\nOxp9bNMAhhUXPqVloKQlMsj3XW/Bg/NOZ4FW6TgmT4nlVPQDl41bQqdOqL+j\nMrQYu8pqcwHYm0kwqRHQ0JGvsQsBE3xvhlhSiNow1o//Brm0n2Txkr25owGQ\n68o5SWX2G+uF5ieEe+1t6qHiGcCkraUq16CdbjZ6bek10pCqi77K7hb6I/Dt\nr7GqDnhd4grNCUTuzJ9kNsUixsmCVJI6bRZVXZpc6GlQZ5luP/LPRV8a+wCR\nevnKtVAmc+SW90E/9ipp2fj/VCQx3pIGF/fXqxt36U8kvb7+mhL5riEKQrVl\n1KNLevZNlXgglgsUc11fBLqr0dcC6mTynNnPczO9pS8BLwepuNwQ5WIBUYl9\nvrpoXTDybKqh2oo9Ps7cmkWb9Tu6eqODClSTLrRO9cvFSb2r77Yrb6i+j7Dj\n+HTP8UEcaw0EZPdAtM6jw7YQz7xGEscQ2S9cGQwtBXdDXqLcLFaFzA5lwGpP\naZSK/6N7TECQtEK5cxE0AnoxW5scIPs6WfA/OKIDJmfIPIN/H/pFVvGCHLwU\n+dt2SryP34O1vcIJzUok7FuJHUWuJuA3MS53B5hqGnesTW4VYzNPC+ngKwUa\nFxnc\r\n=sLyQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGNR5j8rofP/NskXPs/Z4MBgW/WR4nBojiKpaai8xFpFAiEA2LpdaFGepQQFfJj2Gxw2EuXrxZpdFdPiLMVW1At+Z9k="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_2.0.0_1589326028257_0.8643576460443332"},"_hasShrinkwrap":false},"3.0.0":{"name":"simple-handshake","version":"3.0.0","description":"Simple Noise handshake state machine","main":"index.js","dependencies":{"nanoassert":"^2.0.0","noise-protocol":"^3.0.0"},"devDependencies":{"standard":"^14.3.4","tape":"^4.8.0"},"scripts":{"pretest":"standard","test":"tape tests/*.js"},"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"keywords":[],"author":{"name":"Emil Bay","email":"github@tixz.dk"},"license":"ISC","bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"homepage":"https://github.com/emilbayes/simple-handshake#readme","gitHead":"ff0265da4dff7ac9a41038f20906c3597cb3f3fb","_id":"simple-handshake@3.0.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-8Te0vlxvhpNCMgwnWFTbRR6Re2l8hq8wyXQc3lY9dPYXFxYwVkh79LhDQHFCOWRavmbiOdfqq1l5HT/73Rn2/w==","shasum":"76241e702642a65496f8356dd463989ec23e407c","tarball":"https://registry.npmjs.org/simple-handshake/-/simple-handshake-3.0.0.tgz","fileCount":7,"unpackedSize":19346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTknwCRA9TVsSAnZWagAAOakP/RY6+x4waI0WZzqPYFIK\nIoapDOuCQs54h45UwlbtjiskaVdnc51YBnGS2cU2eigIZKxS7zTvILdNae11\nZPnmtqIX/55x0myh73fwLxDNhdpaBxl8sXq8SRPKM/dZMAnRGWu2nXZ8JAIm\nYIhxESPTZOMb7/uegZ1V3t3kOyMYCzu6rSpPI60cVJErUF2UQz/KLAHaIA+R\nvR9qDTF1uYbab+7fI/6OrcovCNnQEQmkdehcIx53idS6Xl+PgVgILYye193Z\n/S/VhMVIMHQlMCJFoZRqkwaogN1X4sUO4OWHQ3FiNrqLviBVd2zW5tXLW7Y0\nCqX7070vTmFpLG+P1B5xsA7gm1nBYj0GX/iCE1Ycnn0ZbEGfSdZaB0dgrThC\n+KCVenmf54Yg0bG/GDDyHyz4i4Nn7x14+2RlieCP+h0hpArLrYGzYzqnvoch\nkQs+XPO10ZJXwIHqrRbbKR8JRVP8CbXKh6RR95IHteMZYyKIDYHIQ1FH3vsM\nFMW5wG6D4zEH58KVpRlG5a0ZYWB//SnGwzBDuZB2RXcc3hU/JajPFVGqy3aS\nH7gNVe/dnsRQCwGAjajmqfhkZGBr40ICDLTF5Qyv/OLh2vnRkkaDlfLnpgXS\nWX2yoZgfg6njwzdsj0sbA6QoHrNZs6+PxMYM7ZJXOe4tpczvIT4zlugLF5rV\nMskV\r\n=f1B4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIi9PHeDJCTOkJhFROxhDRvLdh8qR0FYbrNU9w8tGSUQIgHEFFpkdyvo995nQAlGEMgBP/4XI/dbHWzOBibKlkrEw="}]},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"_npmUser":{"name":"emilbayes","email":"github@tixz.dk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-handshake_3.0.0_1598966255696_0.15202318520421776"},"_hasShrinkwrap":false}},"time":{"created":"2018-10-03T12:09:35.616Z","0.0.0":"2018-10-03T12:09:35.722Z","modified":"2022-05-17T21:01:47.291Z","1.0.1":"2018-10-08T07:52:16.321Z","1.1.0":"2018-11-14T09:27:54.057Z","1.1.1":"2018-11-14T09:52:22.636Z","1.1.2":"2018-11-14T11:31:52.173Z","1.2.0":"2019-07-23T07:37:49.777Z","1.3.0":"2019-07-23T18:57:29.286Z","1.3.1":"2019-09-06T13:05:38.797Z","2.0.0":"2020-05-12T23:27:08.403Z","3.0.0":"2020-09-01T13:17:35.880Z"},"maintainers":[{"name":"emilbayes","email":"github@tixz.dk"}],"description":"Simple Noise handshake state machine","homepage":"https://github.com/emilbayes/simple-handshake#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/emilbayes/simple-handshake.git"},"author":{"name":"Emil Bay","email":"github@tixz.dk"},"bugs":{"url":"https://github.com/emilbayes/simple-handshake/issues"},"license":"ISC","readme":"# `simple-handshake`\n\n[![Build Status](https://travis-ci.org/emilbayes/simple-handshake.svg?branch=master)](https://travis-ci.org/emilbayes/simple-handshake)\n\n> Simple Noise handshake state machine\n\n## Usage\n\n```js\nvar simpleHandshake = require('simple-handshake')\n\n// Generate static keys. Ideally these are saved as the represent either party's\n// identity\nvar clientKeys = simpleHandshake.keygen()\nvar serverKeys = simpleHandshake.keygen()\n\n// Make a client/server pair. These are also known as initiator/responder\nvar client = simpleHandshake(true, {\n  pattern: 'XX',\n  staticKeyPair: clientKeys\n})\n\nvar server = simpleHandshake(false, {\n  pattern: 'XX',\n  staticKeyPair: serverKeys\n})\n\n// Use a simple Round trip function to do the back and forth.\n// In practise this would go over a network\nrtt(client, server, function (err) {\n  if (err) throw err\n\n  // Now both parties have arrived at the same shared secrets\n  // client.tx === server.rx and server.tx === client.rx\n  console.log(client.split, server.split)\n})\n\nfunction rtt (from, to, cb) {\n  // waiting === true means waiting to receive data, hence it should be false\n  // if we're ready to send data!\n  if (from.waiting !== false) return cb(new Error('Not ready to send data'))\n\n  from.send(null, function (err, buf) {\n    if (err) return cb(err)\n\n    to.recv(buf, function (err) {\n      if (err) return cb(err)\n\n      // Keep going until from is finished\n      if (from.finished === true) return cb()\n\n      // recurse until finished\n      return rtt(to, from, cb)\n    })\n  })\n}\n```\n\n## API\n\n### `var hs = simpleHandshake(isInitiator, [opts])`\n\nOptions include:\n\n```js\n{\n  pattern: 'XX', // Noise handshake pattern. XX transmits the keys\n  prologue: Buffer.alloc(0), // Defaults to empty Buffer\n  staticKeyPair: {publicKey, secretKey}, // Local static key pair\n  remoteStaticKey: Buffer, // Remote public key for other patterns eg. KK\n\n  // Callback when receiving a ephemeral public key from a remote peer.\n  onephemeralkey(remoteEphemeralKey, cb),\n\n  // Callback when receiving a static public key from a remote peer.\n  // Can be used to validate the key against certificates, CRL etc.\n  onstatickey(remoteStaticKey, cb),\n\n  // Callback when handshaking has finished.\n  // Can be used to access the handshakeHash or other state data, before it is\n  // cleared\n  onhandshake(state, cb),\n\n  // Normally not set, but may be if upgrading from another pattern.\n  ephemeralKeyPair: {publicKey, secretKey},\n  remoteEphemeralKey: Buffer\n}\n```\n\n### `hs.waiting`\n\nFlag indicating whether this instance is waiting for remote data, ie. `hs.recv` should be called next. If `false` `hs.send` should be called next.\n\n### `hs.finished`\n\nFlag indicating whether the handshake is finished. If an error occurs this flag\nwill also be set `true`, as the instance is no longer usable.\n\n### `hs.split`\n\nA Noise split containing a `{rx, tx}` object of Buffers which are\n`32 byte shared secret | 8 byte nonce` (a Noise `CipherState`). `rx` at the\ninitiator matches `tx` at the responder.\n\n### `hs.handshakeHash`\n\nChannel binding handshake hash, available after the handshake has completed and\na split has occurred. See the [Noise Specification for details](https://noiseprotocol.org/noise.html#channel-binding)\n\n### `hs.send(payload, cb(err, message))`\n\nEncode a message with a `payload` (which if `null` defaults to an empty buffer),\nfor sending to the other party. Message is written in a preallocated Buffer,\nmeaning that the backing Buffer is reused at the next call to `.send`.\n\n### `hs.recv(message, cb(err, payload))`\n\nDecode a `message` with a `payload` (which may be an empty buffer). `payload` is\nwritten in a preallocated Buffer, meaning that the backing Buffer for is reused\nat the next call to `.recv`, so you must copy the payload if you need it for\nlonger. If a static key is received and `onstatickey` is set, this function is\ncalled between parsing and `cb`.\n\n### `hs.destroy()`\n\nDestroy internal state in case you need to terminate the handshake before it has\ncompleted.\n\n### `SimpleHandshake.keygen()`\n\nGenerate a key pair for use with the `staticKeyPair` option\n\n## Install\n\n```sh\nnpm install simple-handshake\n```\n\n## License\n\n[ISC](LICENSE)\n","readmeFilename":"README.md"}