{ "_args": [ [ { "raw": "http-signature@~1.2.0", "scope": null, "escapedName": "http-signature", "name": "http-signature", "rawSpec": "~1.2.0", "spec": ">=1.2.0 <1.3.0", "type": "range" }, "/home/jdaugherty/work/GT2/GT2-Android/node_modules/request" ] ], "_from": "http-signature@>=1.2.0 <1.3.0", "_id": "http-signature@1.2.0", "_inCache": true, "_location": "/http-signature", "_nodeVersion": "0.12.9", "_npmOperationalInternal": { "host": "s3://npm-registry-packages", "tmp": "tmp/http-signature-1.2.0.tgz_1503689523067_0.7758485176600516" }, "_npmUser": { "name": "arekinath", "email": "alex@cooperi.net" }, "_npmVersion": "2.14.9", "_phantomChildren": {}, "_requested": { "raw": "http-signature@~1.2.0", "scope": null, "escapedName": "http-signature", "name": "http-signature", "rawSpec": "~1.2.0", "spec": ">=1.2.0 <1.3.0", "type": "range" }, "_requiredBy": [ "/request" ], "_resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "_shasum": "9aecd925114772f3d95b65a60abb8f7c18fbace1", "_shrinkwrap": null, "_spec": "http-signature@~1.2.0", "_where": "/home/jdaugherty/work/GT2/GT2-Android/node_modules/request", "author": { "name": "Joyent, Inc" }, "bugs": { "url": "https://github.com/joyent/node-http-signature/issues" }, "contributors": [ { "name": "Mark Cavage", "email": "mcavage@gmail.com" }, { "name": "David I. Lehn", "email": "dil@lehn.org" }, { "name": "Patrick Mooney", "email": "patrick.f.mooney@gmail.com" } ], "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" }, "description": "Reference implementation of Joyent's HTTP Signature scheme.", "devDependencies": { "tap": "0.4.2", "uuid": "^2.0.2" }, "directories": {}, "dist": { "shasum": "9aecd925114772f3d95b65a60abb8f7c18fbace1", "tarball": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" }, "engines": { "node": ">=0.8", "npm": ">=1.3.7" }, "gitHead": "523e7c5a3a081e046813f62ab182e294a08eaf0d", "homepage": "https://github.com/joyent/node-http-signature/", "keywords": [ "https", "request" ], "license": "MIT", "main": "lib/index.js", "maintainers": [ { "name": "arekinath", "email": "alex@cooperi.net" }, { "name": "mcavage", "email": "mcavage@gmail.com" }, { "name": "pfmooney", "email": "patrick.f.mooney@gmail.com" } ], "name": "http-signature", "optionalDependencies": {}, "readme": "# node-http-signature\n\nnode-http-signature is a node.js library that has client and server components\nfor Joyent's [HTTP Signature Scheme](http_signing.md).\n\n## Usage\n\nNote the example below signs a request with the same key/cert used to start an\nHTTP server. This is almost certainly not what you actually want, but is just\nused to illustrate the API calls; you will need to provide your own key\nmanagement in addition to this library.\n\n### Client\n\n```js\nvar fs = require('fs');\nvar https = require('https');\nvar httpSignature = require('http-signature');\n\nvar key = fs.readFileSync('./key.pem', 'ascii');\n\nvar options = {\n host: 'localhost',\n port: 8443,\n path: '/',\n method: 'GET',\n headers: {}\n};\n\n// Adds a 'Date' header in, signs it, and adds the\n// 'Authorization' header in.\nvar req = https.request(options, function(res) {\n console.log(res.statusCode);\n});\n\n\nhttpSignature.sign(req, {\n key: key,\n keyId: './cert.pem'\n});\n\nreq.end();\n```\n\n### Server\n\n```js\nvar fs = require('fs');\nvar https = require('https');\nvar httpSignature = require('http-signature');\n\nvar options = {\n key: fs.readFileSync('./key.pem'),\n cert: fs.readFileSync('./cert.pem')\n};\n\nhttps.createServer(options, function (req, res) {\n var rc = 200;\n var parsed = httpSignature.parseRequest(req);\n var pub = fs.readFileSync(parsed.keyId, 'ascii');\n if (!httpSignature.verifySignature(parsed, pub))\n rc = 401;\n\n res.writeHead(rc);\n res.end();\n}).listen(8443);\n```\n\n## Installation\n\n npm install http-signature\n\n## License\n\nMIT.\n\n## Bugs\n\nSee .\n", "readmeFilename": "README.md", "repository": { "type": "git", "url": "git://github.com/joyent/node-http-signature.git" }, "scripts": { "test": "tap test/*.js" }, "version": "1.2.0" }