{"_id":"sshpk","_rev":"24-ec381858450831df6de875bc3a117d7d","name":"sshpk","description":"A library for finding and using SSH public keys","dist-tags":{"latest":"1.7.1"},"versions":{"1.0.0":{"name":"sshpk","version":"1.0.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"^0.2.2","assert-plus":"^0.1.5"},"devDependencies":{"tap":"0.4.2","benchmark":"^1.0.0"},"gitHead":"aa01f44043fd2217f8682c22f61ecc63df4ac853","_id":"sshpk@1.0.0","_shasum":"a8328ea1f1ab7f24925d05d08b41d307d6e1cc82","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"a8328ea1f1ab7f24925d05d08b41d307d6e1cc82","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.0.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.0.1":{"name":"sshpk","version":"1.0.1","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"^0.2.2","assert-plus":"^0.1.5"},"devDependencies":{"tap":"0.4.2","benchmark":"^1.0.0"},"gitHead":"bdd775ba6df8022f0e3fe46184641fbdfd148dc8","_id":"sshpk@1.0.1","_shasum":"f082eaf45cf591f28025899076b711ae15492efe","_from":".","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"f082eaf45cf591f28025899076b711ae15492efe","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.0.1.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.0.2":{"name":"sshpk","version":"1.0.2","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"^0.2.2","assert-plus":"^0.1.5"},"devDependencies":{"tape":"^3.5.0","benchmark":"^1.0.0"},"gitHead":"275d7ae580d17c095f95a04ddaca204ffb77ed65","_id":"sshpk@1.0.2","_shasum":"6c4ede38cbc33de7b97701b4439a1f92ff8dca9d","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"6c4ede38cbc33de7b97701b4439a1f92ff8dca9d","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.0.2.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.0.3":{"name":"sshpk","version":"1.0.3","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"0.2.2","assert-plus":"0.1.5"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"gitHead":"1f4cf3903d6d1846452eb20371ad929237a77b12","_id":"sshpk@1.0.3","_shasum":"6046f24117ed21399ba84aab69d4e2e308fc899f","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"6046f24117ed21399ba84aab69d4e2e308fc899f","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.0.3.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.0.4":{"name":"sshpk","version":"1.0.4","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"0.2.2","assert-plus":"0.1.5"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"gitHead":"6631e8a0b460432d5e30b543408602ecad1119f3","_id":"sshpk@1.0.4","_shasum":"584754ee1b57b9026caf2df0831b009011858f6b","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"584754ee1b57b9026caf2df0831b009011858f6b","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.0.4.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.1.0":{"name":"sshpk","version":"1.1.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"0.2.2","assert-plus":"0.1.5"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"gitHead":"db5293cc5a0d9c4b2ff7111d8223064d82b88ec3","_id":"sshpk@1.1.0","_shasum":"f1046ee820294ca95d737932e0e2369663a59513","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"f1046ee820294ca95d737932e0e2369663a59513","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.1.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.2.0":{"name":"sshpk","version":"1.2.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"0.2.2","assert-plus":"0.1.5"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"gitHead":"1797dd1bcf59c2c67db6a670430ea0995a61dabf","_id":"sshpk@1.2.0","_shasum":"e400ece7f6cbfe2da4db7335684198b1ced4057d","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"e400ece7f6cbfe2da4db7335684198b1ced4057d","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.2.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.2.1":{"name":"sshpk","version":"1.2.1","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":"0.2.2","assert-plus":"0.1.5"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"gitHead":"531274a801f4ea9c142c699b55e4c118047568fb","_id":"sshpk@1.2.1","_shasum":"d7f8272dc165afbfa3ba682086bd3daf26be3e83","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"d7f8272dc165afbfa3ba682086bd3daf26be3e83","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.2.1.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.3.0":{"name":"sshpk","version":"1.3.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"gitHead":"7e8e5c759195c6dfd61a1a501ad0593a49f4aa61","_id":"sshpk@1.3.0","_shasum":"fd3229a6e0971b2003e61927fa74b2814c696cfb","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"fd3229a6e0971b2003e61927fa74b2814c696cfb","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.3.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"directories":{}},"1.4.0":{"name":"sshpk","version":"1.4.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"1e2a8adb67b4e63072dd40bf6a26779670423214","_id":"sshpk@1.4.0","_shasum":"4358666a18093d91cdbddb986e00545e119ee79b","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"4358666a18093d91cdbddb986e00545e119ee79b","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.4.1":{"name":"sshpk","version":"1.4.1","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"fabb2b74cab6b9820a78e58e9401e02c9fec3440","_id":"sshpk@1.4.1","_shasum":"f271f1533deba161bae23d46d40ddb4c7f28b395","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"f271f1533deba161bae23d46d40ddb4c7f28b395","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.1.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.4.2":{"name":"sshpk","version":"1.4.2","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"610baceec44d0dba669586f41e36a9273c4159db","_id":"sshpk@1.4.2","_shasum":"d06be5aa796f8a3bccdf7dcd6b9445177487012c","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"d06be5aa796f8a3bccdf7dcd6b9445177487012c","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.2.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.4.3":{"name":"sshpk","version":"1.4.3","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"0a56fe7f508cd8dcec8bc8213ccc9fd42115f7bb","_id":"sshpk@1.4.3","_shasum":"580177d5989653ad61b890af4ffb0e63dca6c5a1","_from":".","_npmVersion":"2.14.6","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"580177d5989653ad61b890af4ffb0e63dca6c5a1","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.3.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.4.4":{"name":"sshpk","version":"1.4.4","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"2ed1a1c0f086646caf2798f7204cdc749efd25e0","_id":"sshpk@1.4.4","_shasum":"8da4da1bd64c48ce13fd9947144c917582462024","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"8da4da1bd64c48ce13fd9947144c917582462024","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.4.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.4.5":{"name":"sshpk","version":"1.4.5","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"74f71c47efa29371407ad14b53663975036a7237","_id":"sshpk@1.4.5","_shasum":"b08d682ea1819fd50bad39c0bc1f08cd4d787883","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"b08d682ea1819fd50bad39c0bc1f08cd4d787883","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.5.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.4.6":{"name":"sshpk","version":"1.4.6","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"f94621769b80857b02ab6e28534b4c538da9a988","_id":"sshpk@1.4.6","_shasum":"aff7273e4797e60a83b031c94388bd00cf500c59","_from":".","_npmVersion":"2.14.6","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"aff7273e4797e60a83b031c94388bd00cf500c59","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.6.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.4.7":{"name":"sshpk","version":"1.4.7","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","big-integer":">=1.6.0 <2.0.0"},"optionalDependencies":{"big-integer":">=1.6.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"ac12e343830287500ee14716dd83171124931a27","_id":"sshpk@1.4.7","_shasum":"62e3dbf98b065ca7950acd21cdb780b9d2080066","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"62e3dbf98b065ca7950acd21cdb780b9d2080066","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.4.7.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.5.0":{"name":"sshpk","version":"1.5.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.10.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","jsbn":">=0.0.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0"},"optionalDependencies":{"jsbn":">=0.0.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"2258438cad3785851e57270b373c01b42589cc5a","_id":"sshpk@1.5.0","_shasum":"00c40d3b80d4fe7e9ac562a343ce111fafca4fe2","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.8.28","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"00c40d3b80d4fe7e9ac562a343ce111fafca4fe2","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.5.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.5.1":{"name":"sshpk","version":"1.5.1","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.10.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","jsbn":">=0.0.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0"},"optionalDependencies":{"jsbn":">=0.0.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"da9a897fa020576665ca63295df4d9d34cb05eea","_id":"sshpk@1.5.1","_shasum":"85fe5c5e69b7318c3fa329d82abef0ba4228c4f9","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"85fe5c5e69b7318c3fa329d82abef0ba4228c4f9","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.5.1.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.6.0":{"name":"sshpk","version":"1.6.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.10.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"optionalDependencies":{"jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0","sinon":">=1.17.2 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"f3013387324f5da539be282ac1b637056d956c18","_id":"sshpk@1.6.0","_shasum":"f9f9c76fd8e622d583b1ae83fe49aa7bec6e1d4a","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"f9f9c76fd8e622d583b1ae83fe49aa7bec6e1d4a","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.6.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.6.1":{"name":"sshpk","version":"1.6.1","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.10.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"optionalDependencies":{"jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0","sinon":">=1.17.2 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"b07d85a8d4f0e04b45f106fbc3768e30b63229e5","_id":"sshpk@1.6.1","_shasum":"3f1e6825feb00dd178f897409d6661756d3fefac","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"3f1e6825feb00dd178f897409d6661756d3fefac","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.6.1.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.6.2":{"name":"sshpk","version":"1.6.2","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.1.5 <0.2.0","dashdash":">=1.10.1 <2.0.0","jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"optionalDependencies":{"jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0","sinon":">=1.17.2 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"f245b4f3dc0b9a89475b398fb1a7e895e73c6f95","_id":"sshpk@1.6.2","_shasum":"a8bbe7f5087739b71e1cecb43669e1ade663214c","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.8.28","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"a8bbe7f5087739b71e1cecb43669e1ade663214c","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.6.2.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.7.0":{"name":"sshpk","version":"1.7.0","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.2.0 <0.3.0","dashdash":">=1.10.1 <2.0.0","jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"optionalDependencies":{"jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0","sinon":">=1.17.2 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"d268fc9a5442727dfb975a0c609f7419bc4d7057","_id":"sshpk@1.7.0","_shasum":"c64ac26de1bdd19cc9ccbe78ba747292c6c70a7c","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"c64ac26de1bdd19cc9ccbe78ba747292c6c70a7c","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.7.0.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]},"1.7.1":{"name":"sshpk","version":"1.7.1","description":"A library for finding and using SSH public keys","main":"lib/index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"author":{"name":"Joyent, Inc"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"license":"MIT","bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"engines":{"node":">=0.8.0"},"directories":{"bin":"./bin","lib":"./lib"},"homepage":"https://github.com/arekinath/node-sshpk#readme","dependencies":{"asn1":">=0.2.3 <0.3.0","assert-plus":">=0.2.0 <0.3.0","dashdash":">=1.10.1 <2.0.0","jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"optionalDependencies":{"jsbn":">=0.1.0 <0.2.0","tweetnacl":">=0.13.0 <1.0.0","jodid25519":">=1.0.0 <2.0.0","ecc-jsbn":">=0.0.1 <1.0.0"},"devDependencies":{"tape":">=3.5.0 <4.0.0","benchmark":">=1.0.0 <2.0.0","sinon":">=1.17.2 <2.0.0"},"bin":{"sshpk-conv":"bin/sshpk-conv"},"gitHead":"71dd768e94d6214a0b8e1196ca78297b582c6fb0","_id":"sshpk@1.7.1","_shasum":"565e386c42a77e6062fbd14c0472ff21cd53398c","_from":".","_npmVersion":"2.14.4","_nodeVersion":"0.12.7","_npmUser":{"name":"arekinath","email":"alex@cooperi.net"},"dist":{"shasum":"565e386c42a77e6062fbd14c0472ff21cd53398c","tarball":"http://registry.npmjs.org/sshpk/-/sshpk-1.7.1.tgz"},"maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}]}},"readme":"sshpk\n=========\n\nParse, convert, fingerprint and use SSH keys (both public and private) in pure\nnode -- no `ssh-keygen` or other external dependencies.\n\nSupports RSA, DSA, ECDSA (nistp-\\*) and ED25519 key types, in PEM (PKCS#1, \nPKCS#8) and OpenSSH formats.\n\nThis library has been extracted from\n[`node-http-signature`](https://github.com/joyent/node-http-signature)\n(work by [Mark Cavage](https://github.com/mcavage) and\n[Dave Eddy](https://github.com/bahamas10)) and\n[`node-ssh-fingerprint`](https://github.com/bahamas10/node-ssh-fingerprint)\n(work by Dave Eddy), with additions (including ECDSA support) by\n[Alex Wilson](https://github.com/arekinath).\n\nInstall\n-------\n\n```\nnpm install sshpk\n```\n\nExamples\n--------\n\n```js\nvar sshpk = require('sshpk');\n\nvar fs = require('fs');\n\n/* Read in an OpenSSH-format public key */\nvar keyPub = fs.readFileSync('id_rsa.pub');\nvar key = sshpk.parseKey(keyPub, 'ssh');\n\n/* Get metadata about the key */\nconsole.log('type => %s', key.type);\nconsole.log('size => %d bits', key.size);\nconsole.log('comment => %s', key.comment);\n\n/* Compute key fingerprints, in new OpenSSH (>6.7) format, and old MD5 */\nconsole.log('fingerprint => %s', key.fingerprint().toString());\nconsole.log('old-style fingerprint => %s', key.fingerprint('md5').toString());\n```\n\nExample output:\n\n```\ntype => rsa\nsize => 2048 bits\ncomment => foo@foo.com\nfingerprint => SHA256:PYC9kPVC6J873CSIbfp0LwYeczP/W4ffObNCuDJ1u5w\nold-style fingerprint => a0:c8:ad:6c:32:9a:32:fa:59:cc:a9:8c:0a:0d:6e:bd\n```\n\nMore examples: converting between formats:\n\n```js\n/* Read in a PEM public key */\nvar keyPem = fs.readFileSync('id_rsa.pem');\nvar key = sshpk.parseKey(keyPem, 'pem');\n\n/* Convert to PEM PKCS#8 public key format */\nvar pemBuf = key.toBuffer('pkcs8');\n\n/* Convert to SSH public key format (and return as a string) */\nvar sshKey = key.toString('ssh');\n```\n\nSigning and verifying:\n\n```js\n/* Read in an OpenSSH/PEM *private* key */\nvar keyPriv = fs.readFileSync('id_ecdsa');\nvar key = sshpk.parsePrivateKey(keyPriv, 'pem');\n\nvar data = 'some data';\n\n/* Sign some data with the key */\nvar s = key.createSign('sha1');\ns.update(data);\nvar signature = s.sign();\n\n/* Now load the public key (could also use just key.toPublic()) */\nvar keyPub = fs.readFileSync('id_ecdsa.pub');\nkey = sshpk.parseKey(keyPub, 'ssh');\n\n/* Make a crypto.Verifier with this key */\nvar v = key.createVerify('sha1');\nv.update(data);\nvar valid = v.verify(signature);\n/* => true! */\n```\n\nMatching fingerprints with keys:\n\n```js\nvar fp = sshpk.parseFingerprint('SHA256:PYC9kPVC6J873CSIbfp0LwYeczP/W4ffObNCuDJ1u5w');\n\nvar keys = [sshpk.parseKey(...), sshpk.parseKey(...), ...];\n\nkeys.forEach(function (key) {\n\tif (fp.matches(key))\n\t\tconsole.log('found it!');\n});\n```\n\nUsage\n-----\n\n## Public keys\n\n### `parseKey(data[, format = 'auto'[, name]])`\n\nParses a key from a given data format and returns a new `Key` object.\n\nParameters\n\n- `data` -- Either a Buffer or String, containing the key\n- `format` -- String name of format to use, valid options are:\n - `auto`: choose automatically from all below\n - `pem`: supports both PKCS#1 and PKCS#8\n - `ssh`: standard OpenSSH format,\n - `pkcs1`, `pkcs8`: variants of `pem`\n - `rfc4253`: raw OpenSSH wire format\n - `openssh`: new post-OpenSSH 6.5 internal format, produced by \n `ssh-keygen -o`\n- `name` -- Optional name for the key being parsed (eg. the filename that\n was opened). Used to generate Error messages\n\n### `Key.isKey(obj)`\n\nReturns `true` if the given object is a valid `Key` object created by a version\nof `sshpk` compatible with this one.\n\nParameters\n\n- `obj` -- Object to identify\n\n### `Key#type`\n\nString, the type of key. Valid options are `rsa`, `dsa`, `ecdsa`.\n\n### `Key#size`\n\nInteger, \"size\" of the key in bits. For RSA/DSA this is the size of the modulus;\nfor ECDSA this is the bit size of the curve in use.\n\n### `Key#comment`\n\nOptional string, a key comment used by some formats (eg the `ssh` format).\n\n### `Key#curve`\n\nOnly present if `this.type === 'ecdsa'`, string containing the name of the\nnamed curve used with this key. Possible values include `nistp256`, `nistp384`\nand `nistp521`.\n\n### `Key#toBuffer([format = 'ssh'])`\n\nConvert the key into a given data format and return the serialized key as\na Buffer.\n\nParameters\n\n- `format` -- String name of format to use, for valid options see `parseKey()`\n\n### `Key#toString([format = 'ssh])`\n\nSame as `this.toBuffer(format).toString()`.\n\n### `Key#fingerprint([algorithm = 'sha256'])`\n\nCreates a new `Fingerprint` object representing this Key's fingerprint.\n\nParameters\n\n- `algorithm` -- String name of hash algorithm to use, valid options are `md5`,\n `sha1`, `sha256`, `sha384`, `sha512`\n\n### `Key#createVerify([hashAlgorithm])`\n\nCreates a `crypto.Verifier` specialized to use this Key (and the correct public\nkey algorithm to match it). The returned Verifier has the same API as a regular\none, except that the `verify()` function takes only the target signature as an\nargument.\n\nParameters\n\n- `hashAlgorithm` -- optional String name of hash algorithm to use, any\n supported by OpenSSL are valid, usually including\n `sha1`, `sha256`.\n\n`v.verify(signature[, format])` Parameters\n\n- `signature` -- either a Signature object, or a Buffer or String\n- `format` -- optional String, name of format to interpret given String with.\n Not valid if `signature` is a Signature or Buffer.\n\n### `Key#createDiffieHellman()`\n### `Key#createDH()`\n\nCreates a Diffie-Hellman key exchange object initialized with this key and all\nnecessary parameters. This has the same API as a `crypto.DiffieHellman`\ninstance, except that functions take `Key` and `PrivateKey` objects as\narguments, and return them where indicated for.\n\nThis is only valid for keys belonging to a cryptosystem that supports DHE\nor a close analogue (i.e. `dsa`, `ecdsa` and `curve25519` keys). An attempt\nto call this function on other keys will yield an `Error`.\n\n## Private keys\n\n### `parsePrivateKey(data[, format = 'auto'[, name]])`\n\nParses a private key from a given data format and returns a new\n`PrivateKey` object.\n\nParameters\n\n- `data` -- Either a Buffer or String, containing the key\n- `format` -- String name of format to use, valid options are:\n - `auto`: choose automatically from all below\n - `pem`: supports both PKCS#1 and PKCS#8\n - `ssh`, `openssh`: new post-OpenSSH 6.5 internal format, produced by \n `ssh-keygen -o`\n - `pkcs1`, `pkcs8`: variants of `pem`\n - `rfc4253`: raw OpenSSH wire format\n- `name` -- Optional name for the key being parsed (eg. the filename that\n was opened). Used to generate Error messages\n\n### `PrivateKey.isPrivateKey(obj)`\n\nReturns `true` if the given object is a valid `PrivateKey` object created by a\nversion of `sshpk` compatible with this one.\n\nParameters\n\n- `obj` -- Object to identify\n\n### `PrivateKey#type`\n\nString, the type of key. Valid options are `rsa`, `dsa`, `ecdsa`.\n\n### `PrivateKey#size`\n\nInteger, \"size\" of the key in bits. For RSA/DSA this is the size of the modulus;\nfor ECDSA this is the bit size of the curve in use.\n\n### `PrivateKey#curve`\n\nOnly present if `this.type === 'ecdsa'`, string containing the name of the\nnamed curve used with this key. Possible values include `nistp256`, `nistp384`\nand `nistp521`.\n\n### `PrivateKey#toBuffer([format = 'pkcs1'])`\n\nConvert the key into a given data format and return the serialized key as\na Buffer.\n\nParameters\n\n- `format` -- String name of format to use, valid options are listed under \n `parsePrivateKey`. Note that ED25519 keys default to `openssh`\n format instead (as they have no `pkcs1` representation).\n\n### `PrivateKey#toString([format = 'pkcs1'])`\n\nSame as `this.toBuffer(format).toString()`.\n\n### `PrivateKey#toPublic()`\n\nExtract just the public part of this private key, and return it as a `Key`\nobject.\n\n### `PrivateKey#fingerprint([algorithm = 'sha256'])`\n\nSame as `this.toPublic().fingerprint()`.\n\n### `PrivateKey#createVerify([hashAlgorithm])`\n\nSame as `this.toPublic().createVerify()`.\n\n### `PrivateKey#createSign([hashAlgorithm])`\n\nCreates a `crypto.Sign` specialized to use this PrivateKey (and the correct\nkey algorithm to match it). The returned Signer has the same API as a regular\none, except that the `sign()` function takes no arguments, and returns a\n`Signature` object.\n\nParameters\n\n- `hashAlgorithm` -- optional String name of hash algorithm to use, any\n supported by OpenSSL are valid, usually including\n `sha1`, `sha256`.\n\n`v.sign()` Parameters\n\n- none\n\n### `PrivateKey#derive(newType)`\n\nDerives a related key of type `newType` from this key. Currently this is\nonly supported to change between `ed25519` and `curve25519` keys which are\nstored with the same private key (but usually distinct public keys in order\nto avoid degenerate keys that lead to a weak Diffie-Hellman exchange).\n\nParameters\n\n- `newType` -- String, type of key to derive, either `ed25519` or `curve25519`\n\n## Fingerprints\n\n### `parseFingerprint(fingerprint[, algorithms])`\n\nPre-parses a fingerprint, creating a `Fingerprint` object that can be used to\nquickly locate a key by using the `Fingerprint#matches` function.\n\nParameters\n\n- `fingerprint` -- String, the fingerprint value, in any supported format\n- `algorithms` -- Optional list of strings, names of hash algorithms to limit\n support to. If `fingerprint` uses a hash algorithm not on\n this list, throws `InvalidAlgorithmError`.\n\n### `Fingerprint.isFingerprint(obj)`\n\nReturns `true` if the given object is a valid `Fingerprint` object created by a\nversion of `sshpk` compatible with this one.\n\nParameters\n\n- `obj` -- Object to identify\n\n### `Fingerprint#toString([format])`\n\nReturns a fingerprint as a string, in the given format.\n\nParameters\n\n- `format` -- Optional String, format to use, valid options are `hex` and\n `base64`. If this `Fingerprint` uses the `md5` algorithm, the\n default format is `hex`. Otherwise, the default is `base64`.\n\n### `Fingerprint#matches(key)`\n\nVerifies whether or not this `Fingerprint` matches a given `Key`. This function\nuses double-hashing to avoid leaking timing information. Returns a boolean.\n\nParameters\n\n- `key` -- a `Key` object, the key to match this fingerprint against\n\n## Signatures\n\n### `parseSignature(signature, algorithm, format)`\n\nParses a signature in a given format, creating a `Signature` object. Useful\nfor converting between the SSH and ASN.1 (PKCS/OpenSSL) signature formats, and\nalso returned as output from `PrivateKey#createSign().sign()`.\n\nA Signature object can also be passed to a verifier produced by\n`Key#createVerify()` and it will automatically be converted internally into the\ncorrect format for verification.\n\nParameters\n\n- `signature` -- a Buffer (binary) or String (base64), data of the actual\n signature in the given format\n- `algorithm` -- a String, name of the algorithm to be used, possible values\n are `rsa`, `dsa`, `ecdsa`\n- `format` -- a String, either `asn1` or `ssh`\n\n### `Signature.isSignature(obj)`\n\nReturns `true` if the given object is a valid `Signature` object created by a\nversion of `sshpk` compatible with this one.\n\nParameters\n\n- `obj` -- Object to identify\n\n### `Signature#toBuffer([format = 'asn1'])`\n\nConverts a Signature to the given format and returns it as a Buffer.\n\nParameters\n\n- `format` -- a String, either `asn1` or `ssh`\n\n### `Signature#toString([format = 'asn1'])`\n\nSame as `this.toBuffer(format).toString('base64')`.\n\nErrors\n------\n\n### `InvalidAlgorithmError`\n\nThe specified algorithm is not valid, either because it is not supported, or\nbecause it was not included on a list of allowed algorithms.\n\nThrown by `Fingerprint.parse`, `Key#fingerprint`.\n\nProperties\n\n- `algorithm` -- the algorithm that could not be validated\n\n### `FingerprintFormatError`\n\nThe fingerprint string given could not be parsed as a supported fingerprint\nformat, or the specified fingerprint format is invalid.\n\nThrown by `Fingerprint.parse`, `Fingerprint#toString`.\n\nProperties\n\n- `fingerprint` -- if caused by a fingerprint, the string value given\n- `format` -- if caused by an invalid format specification, the string value given\n\n### `KeyParseError`\n\nThe key data given could not be parsed as a valid key.\n\nProperties\n\n- `keyName` -- `name` that was given to `Key#parse`\n- `format` -- the `format` that was trying to parse the key\n- `innerErr` -- the inner Error thrown by the format parser\n\nFriends of sshpk\n----------------\n\n * [`sshpk-agent`](https://github.com/arekinath/node-sshpk-agent) is a library\n for speaking the `ssh-agent` protocol from node.js, which uses `sshpk`\n","maintainers":[{"name":"arekinath","email":"alex@cooperi.net"}],"time":{"modified":"2015-12-01T21:25:46.219Z","created":"2015-09-19T04:48:17.976Z","1.0.0":"2015-09-19T04:48:17.976Z","1.0.1":"2015-09-21T17:59:24.856Z","1.0.2":"2015-09-22T18:06:39.992Z","1.0.3":"2015-09-22T18:57:51.802Z","1.0.4":"2015-09-22T23:25:17.084Z","1.1.0":"2015-09-25T05:57:43.194Z","1.2.0":"2015-09-28T06:47:28.445Z","1.2.1":"2015-09-28T07:11:35.597Z","1.3.0":"2015-09-30T23:00:53.424Z","1.4.0":"2015-10-08T02:40:54.913Z","1.4.1":"2015-10-09T00:30:45.207Z","1.4.2":"2015-10-09T00:33:45.148Z","1.4.3":"2015-10-13T17:51:13.407Z","1.4.4":"2015-10-13T19:17:36.983Z","1.4.5":"2015-10-14T22:13:23.547Z","1.4.6":"2015-10-15T07:11:20.555Z","1.4.7":"2015-10-16T18:06:41.402Z","1.5.0":"2015-10-27T00:36:08.334Z","1.5.1":"2015-10-27T18:24:07.848Z","1.6.0":"2015-11-02T22:36:59.073Z","1.6.1":"2015-11-07T00:36:03.917Z","1.6.2":"2015-11-10T02:09:45.830Z","1.7.0":"2015-11-18T23:31:15.289Z","1.7.1":"2015-12-01T21:25:46.219Z"},"homepage":"https://github.com/arekinath/node-sshpk#readme","repository":{"type":"git","url":"git+https://github.com/arekinath/node-sshpk.git"},"contributors":[{"name":"Dave Eddy","email":"dave@daveeddy.com"},{"name":"Mark Cavage","email":"mcavage@gmail.com"},{"name":"Alex Wilson","email":"alex@cooperi.net"}],"author":{"name":"Joyent, Inc"},"bugs":{"url":"https://github.com/arekinath/node-sshpk/issues"},"license":"MIT","readmeFilename":"README.md","_attachments":{},"_etag":"\"WFGF59F9MXERJ1WXQ20CWFEN\""}