diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json deleted file mode 100644 index 91da22d..0000000 --- a/npm-shrinkwrap.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "name": "chef-api", - "version": "0.6.0", - "dependencies": { - "lodash": { - "version": "2.4.2", - "from": "lodash@^2.2.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" - }, - "request": { - "version": "2.67.0", - "from": "http://registry.npmjs.org/request/-/request-2.67.0.tgz", - "resolved": "http://registry.npmjs.org/request/-/request-2.67.0.tgz", - "dependencies": { - "bl": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/bl/-/bl-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.0.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.4", - "from": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.4.tgz", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.4.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "isarray": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "process-nextick-args": { - "version": "1.0.6", - "from": "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz", - "resolved": "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "resolved": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - } - } - } - }, - "caseless": { - "version": "0.11.0", - "from": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" - }, - "extend": { - "version": "3.0.0", - "from": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - }, - "forever-agent": { - "version": "0.6.1", - "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - }, - "form-data": { - "version": "1.0.0-rc3", - "from": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz", - "dependencies": { - "async": { - "version": "1.5.0", - "from": "http://registry.npmjs.org/async/-/async-1.5.0.tgz", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.0.tgz" - } - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - }, - "mime-types": { - "version": "2.1.8", - "from": "http://registry.npmjs.org/mime-types/-/mime-types-2.1.8.tgz", - "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.1.8.tgz", - "dependencies": { - "mime-db": { - "version": "1.20.0", - "from": "http://registry.npmjs.org/mime-db/-/mime-db-1.20.0.tgz", - "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.20.0.tgz" - } - } - }, - "node-uuid": { - "version": "1.4.7", - "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" - }, - "qs": { - "version": "5.2.0", - "from": "http://registry.npmjs.org/qs/-/qs-5.2.0.tgz", - "resolved": "http://registry.npmjs.org/qs/-/qs-5.2.0.tgz" - }, - "tunnel-agent": { - "version": "0.4.2", - "from": "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz", - "resolved": "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" - }, - "tough-cookie": { - "version": "2.2.1", - "from": "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz", - "resolved": "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz" - }, - "http-signature": { - "version": "1.1.0", - "from": "http://registry.npmjs.org/http-signature/-/http-signature-1.1.0.tgz", - "resolved": "http://registry.npmjs.org/http-signature/-/http-signature-1.1.0.tgz", - "dependencies": { - "assert-plus": { - "version": "0.1.5", - "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz" - }, - "jsprim": { - "version": "1.2.2", - "from": "http://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz", - "resolved": "http://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz", - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "from": "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "resolved": "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" - }, - "json-schema": { - "version": "0.2.2", - "from": "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", - "resolved": "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" - }, - "verror": { - "version": "1.3.6", - "from": "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "resolved": "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz" - } - } - }, - "sshpk": { - "version": "1.7.1", - "from": "http://registry.npmjs.org/sshpk/-/sshpk-1.7.1.tgz", - "resolved": "http://registry.npmjs.org/sshpk/-/sshpk-1.7.1.tgz", - "dependencies": { - "asn1": { - "version": "0.2.3", - "from": "http://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "resolved": "http://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "assert-plus": { - "version": "0.2.0", - "from": "http://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "resolved": "http://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "dashdash": { - "version": "1.10.1", - "from": "http://registry.npmjs.org/dashdash/-/dashdash-1.10.1.tgz", - "resolved": "http://registry.npmjs.org/dashdash/-/dashdash-1.10.1.tgz", - "dependencies": { - "assert-plus": { - "version": "0.1.5", - "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz" - } - } - }, - "jsbn": { - "version": "0.1.0", - "from": "http://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", - "resolved": "http://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" - }, - "tweetnacl": { - "version": "0.13.2", - "from": "http://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.2.tgz", - "resolved": "http://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.2.tgz" - }, - "jodid25519": { - "version": "1.0.2", - "from": "http://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "resolved": "http://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" - }, - "ecc-jsbn": { - "version": "0.1.1", - "from": "http://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "resolved": "http://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" - } - } - } - } - }, - "oauth-sign": { - "version": "0.8.0", - "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz" - }, - "hawk": { - "version": "3.1.2", - "from": "http://registry.npmjs.org/hawk/-/hawk-3.1.2.tgz", - "resolved": "http://registry.npmjs.org/hawk/-/hawk-3.1.2.tgz", - "dependencies": { - "hoek": { - "version": "2.16.3", - "from": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" - }, - "boom": { - "version": "2.10.1", - "from": "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "resolved": "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - }, - "cryptiles": { - "version": "2.0.5", - "from": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - }, - "sntp": { - "version": "1.0.9", - "from": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" - } - } - }, - "aws-sign2": { - "version": "0.6.0", - "from": "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "resolved": "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - }, - "stringstream": { - "version": "0.0.5", - "from": "http://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "resolved": "http://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - }, - "combined-stream": { - "version": "1.0.5", - "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - } - } - }, - "isstream": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - }, - "is-typedarray": { - "version": "1.0.0", - "from": "http://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "resolved": "http://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - }, - "har-validator": { - "version": "2.0.3", - "from": "http://registry.npmjs.org/har-validator/-/har-validator-2.0.3.tgz", - "resolved": "http://registry.npmjs.org/har-validator/-/har-validator-2.0.3.tgz", - "dependencies": { - "chalk": { - "version": "1.1.1", - "from": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz", - "dependencies": { - "ansi-styles": { - "version": "2.1.0", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz" - }, - "escape-string-regexp": { - "version": "1.0.3", - "from": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "from": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - } - } - }, - "strip-ansi": { - "version": "3.0.0", - "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "from": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - } - } - }, - "supports-color": { - "version": "2.0.0", - "from": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - } - } - }, - "commander": { - "version": "2.9.0", - "from": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - } - } - }, - "is-my-json-valid": { - "version": "2.12.3", - "from": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.3.tgz", - "resolved": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.3.tgz", - "dependencies": { - "generate-function": { - "version": "2.0.0", - "from": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "from": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "dependencies": { - "is-property": { - "version": "1.0.2", - "from": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "from": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" - }, - "xtend": { - "version": "4.0.1", - "from": "http://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "resolved": "http://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - } - } - }, - "pinkie-promise": { - "version": "2.0.0", - "from": "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz", - "resolved": "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz", - "dependencies": { - "pinkie": { - "version": "2.0.1", - "from": "http://registry.npmjs.org/pinkie/-/pinkie-2.0.1.tgz", - "resolved": "http://registry.npmjs.org/pinkie/-/pinkie-2.0.1.tgz" - } - } - } - } - } - } - }, - "ursa": { - "version": "0.9.1", - "from": "http://registry.npmjs.org/ursa/-/ursa-0.9.1.tgz", - "resolved": "http://registry.npmjs.org/ursa/-/ursa-0.9.1.tgz", - "dependencies": { - "bindings": { - "version": "1.2.1", - "from": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz" - }, - "nan": { - "version": "2.1.0", - "from": "http://registry.npmjs.org/nan/-/nan-2.1.0.tgz", - "resolved": "http://registry.npmjs.org/nan/-/nan-2.1.0.tgz" - } - } - } - } -} diff --git a/operations.js b/operations.js index dd454ae..b883590 100644 --- a/operations.js +++ b/operations.js @@ -4,7 +4,7 @@ var url = require('url'); var crypto = require('crypto'); var exec = require('child_process').exec; var _ = require("lodash"); -var key = require('ursa').coercePrivateKey; +var NodeRSA = require('node-rsa'); exports.operations = function(config){ return { @@ -21,11 +21,11 @@ exports.operations = function(config){ "X-Ops-UserId": config.name } - var request_headers = _.map(_.pairs(request_headers), function(header){ + var request_headers = _.map(_.toPairs(request_headers), function(header){ return header.join(":"); }).join("\n"); - var signature = key(config.key_contents).privateEncrypt(request_headers, 'utf8', 'base64'); + var signature = new NodeRSA(config.key_contents).encryptPrivate(request_headers, 'base64', 'utf8'); var auth_headers = { "Accept": "application/json", diff --git a/package.json b/package.json index b0228d5..d6582ae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chef-api", - "version": "0.6.0", + "version": "0.6.4", "description": "A simple chef server api wrapper", "author": "Norman Joyner ", "license": "GPLv2", @@ -11,9 +11,9 @@ "url": "git://github.com/normanjoyner/chef-api.git" }, "dependencies": { - "lodash": "^2.2.1", - "request": "^2.61.0", - "ursa": "^0.9.1" + "lodash": "^4.17.4", + "node-rsa": "^0.4.2", + "request": "^2.63.0" }, "engines": { "node": "*" @@ -28,4 +28,4 @@ "chef-server", "api" ] -} \ No newline at end of file +}