aboutsummaryrefslogtreecommitdiff
path: root/node_modules/browserify-sign
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/browserify-sign')
-rw-r--r--node_modules/browserify-sign/LICENSE13
-rw-r--r--node_modules/browserify-sign/README.md13
-rw-r--r--node_modules/browserify-sign/algos.js1
-rw-r--r--node_modules/browserify-sign/browser/algorithms.json152
-rw-r--r--node_modules/browserify-sign/browser/curves.json8
-rw-r--r--node_modules/browserify-sign/browser/index.js91
-rw-r--r--node_modules/browserify-sign/browser/sign.js145
-rw-r--r--node_modules/browserify-sign/browser/verify.js83
-rw-r--r--node_modules/browserify-sign/index.js7
-rw-r--r--node_modules/browserify-sign/package.json40
10 files changed, 0 insertions, 553 deletions
diff --git a/node_modules/browserify-sign/LICENSE b/node_modules/browserify-sign/LICENSE
deleted file mode 100644
index 870bcf1f7..000000000
--- a/node_modules/browserify-sign/LICENSE
+++ /dev/null
@@ -1,13 +0,0 @@
-Copyright (c) 2014-2015 Calvin Metcalf and browserify-sign contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/browserify-sign/README.md b/node_modules/browserify-sign/README.md
deleted file mode 100644
index 0a9f43d52..000000000
--- a/node_modules/browserify-sign/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# browserify-sign
-
-[![NPM Package](https://img.shields.io/npm/v/browserify-sign.svg?style=flat-square)](https://www.npmjs.org/package/browserify-sign)
-[![Build Status](https://img.shields.io/travis/crypto-browserify/browserify-sign.svg?branch=master&style=flat-square)](https://travis-ci.org/crypto-browserify/browserify-sign)
-[![Dependency status](https://img.shields.io/david/crypto-browserify/browserify-sign.svg?style=flat-square)](https://david-dm.org/crypto-browserify/browserify-sign#info=dependencies)
-
-[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
-
-A package to duplicate the functionality of node's crypto public key functions, much of this is based on [Fedor Indutny's](https://github.com/indutny) work on [indutny/tls.js](https://github.com/indutny/tls.js).
-
-## LICENSE
-
-ISC
diff --git a/node_modules/browserify-sign/algos.js b/node_modules/browserify-sign/algos.js
deleted file mode 100644
index dff5b78ac..000000000
--- a/node_modules/browserify-sign/algos.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = require('./browser/algorithms.json')
diff --git a/node_modules/browserify-sign/browser/algorithms.json b/node_modules/browserify-sign/browser/algorithms.json
deleted file mode 100644
index 39324a3f3..000000000
--- a/node_modules/browserify-sign/browser/algorithms.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "sha224WithRSAEncryption": {
- "sign": "rsa",
- "hash": "sha224",
- "id": "302d300d06096086480165030402040500041c"
- },
- "RSA-SHA224": {
- "sign": "ecdsa/rsa",
- "hash": "sha224",
- "id": "302d300d06096086480165030402040500041c"
- },
- "sha256WithRSAEncryption": {
- "sign": "rsa",
- "hash": "sha256",
- "id": "3031300d060960864801650304020105000420"
- },
- "RSA-SHA256": {
- "sign": "ecdsa/rsa",
- "hash": "sha256",
- "id": "3031300d060960864801650304020105000420"
- },
- "sha384WithRSAEncryption": {
- "sign": "rsa",
- "hash": "sha384",
- "id": "3041300d060960864801650304020205000430"
- },
- "RSA-SHA384": {
- "sign": "ecdsa/rsa",
- "hash": "sha384",
- "id": "3041300d060960864801650304020205000430"
- },
- "sha512WithRSAEncryption": {
- "sign": "rsa",
- "hash": "sha512",
- "id": "3051300d060960864801650304020305000440"
- },
- "RSA-SHA512": {
- "sign": "ecdsa/rsa",
- "hash": "sha512",
- "id": "3051300d060960864801650304020305000440"
- },
- "RSA-SHA1": {
- "sign": "rsa",
- "hash": "sha1",
- "id": "3021300906052b0e03021a05000414"
- },
- "ecdsa-with-SHA1": {
- "sign": "ecdsa",
- "hash": "sha1",
- "id": ""
- },
- "sha256": {
- "sign": "ecdsa",
- "hash": "sha256",
- "id": ""
- },
- "sha224": {
- "sign": "ecdsa",
- "hash": "sha224",
- "id": ""
- },
- "sha384": {
- "sign": "ecdsa",
- "hash": "sha384",
- "id": ""
- },
- "sha512": {
- "sign": "ecdsa",
- "hash": "sha512",
- "id": ""
- },
- "DSA-SHA": {
- "sign": "dsa",
- "hash": "sha1",
- "id": ""
- },
- "DSA-SHA1": {
- "sign": "dsa",
- "hash": "sha1",
- "id": ""
- },
- "DSA": {
- "sign": "dsa",
- "hash": "sha1",
- "id": ""
- },
- "DSA-WITH-SHA224": {
- "sign": "dsa",
- "hash": "sha224",
- "id": ""
- },
- "DSA-SHA224": {
- "sign": "dsa",
- "hash": "sha224",
- "id": ""
- },
- "DSA-WITH-SHA256": {
- "sign": "dsa",
- "hash": "sha256",
- "id": ""
- },
- "DSA-SHA256": {
- "sign": "dsa",
- "hash": "sha256",
- "id": ""
- },
- "DSA-WITH-SHA384": {
- "sign": "dsa",
- "hash": "sha384",
- "id": ""
- },
- "DSA-SHA384": {
- "sign": "dsa",
- "hash": "sha384",
- "id": ""
- },
- "DSA-WITH-SHA512": {
- "sign": "dsa",
- "hash": "sha512",
- "id": ""
- },
- "DSA-SHA512": {
- "sign": "dsa",
- "hash": "sha512",
- "id": ""
- },
- "DSA-RIPEMD160": {
- "sign": "dsa",
- "hash": "rmd160",
- "id": ""
- },
- "ripemd160WithRSA": {
- "sign": "rsa",
- "hash": "rmd160",
- "id": "3021300906052b2403020105000414"
- },
- "RSA-RIPEMD160": {
- "sign": "rsa",
- "hash": "rmd160",
- "id": "3021300906052b2403020105000414"
- },
- "md5WithRSAEncryption": {
- "sign": "rsa",
- "hash": "md5",
- "id": "3020300c06082a864886f70d020505000410"
- },
- "RSA-MD5": {
- "sign": "rsa",
- "hash": "md5",
- "id": "3020300c06082a864886f70d020505000410"
- }
-}
diff --git a/node_modules/browserify-sign/browser/curves.json b/node_modules/browserify-sign/browser/curves.json
deleted file mode 100644
index 8a713cf76..000000000
--- a/node_modules/browserify-sign/browser/curves.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "1.3.132.0.10": "secp256k1",
- "1.3.132.0.33": "p224",
- "1.2.840.10045.3.1.1": "p192",
- "1.2.840.10045.3.1.7": "p256",
- "1.3.132.0.34": "p384",
- "1.3.132.0.35": "p521"
-}
diff --git a/node_modules/browserify-sign/browser/index.js b/node_modules/browserify-sign/browser/index.js
deleted file mode 100644
index eef91fbb7..000000000
--- a/node_modules/browserify-sign/browser/index.js
+++ /dev/null
@@ -1,91 +0,0 @@
-var createHash = require('create-hash')
-var stream = require('stream')
-var inherits = require('inherits')
-var sign = require('./sign')
-var verify = require('./verify')
-
-var algorithms = require('./algorithms.json')
-Object.keys(algorithms).forEach(function (key) {
- algorithms[key].id = new Buffer(algorithms[key].id, 'hex')
- algorithms[key.toLowerCase()] = algorithms[key]
-})
-
-function Sign (algorithm) {
- stream.Writable.call(this)
-
- var data = algorithms[algorithm]
- if (!data) throw new Error('Unknown message digest')
-
- this._hashType = data.hash
- this._hash = createHash(data.hash)
- this._tag = data.id
- this._signType = data.sign
-}
-inherits(Sign, stream.Writable)
-
-Sign.prototype._write = function _write (data, _, done) {
- this._hash.update(data)
- done()
-}
-
-Sign.prototype.update = function update (data, enc) {
- if (typeof data === 'string') data = new Buffer(data, enc)
-
- this._hash.update(data)
- return this
-}
-
-Sign.prototype.sign = function signMethod (key, enc) {
- this.end()
- var hash = this._hash.digest()
- var sig = sign(hash, key, this._hashType, this._signType, this._tag)
-
- return enc ? sig.toString(enc) : sig
-}
-
-function Verify (algorithm) {
- stream.Writable.call(this)
-
- var data = algorithms[algorithm]
- if (!data) throw new Error('Unknown message digest')
-
- this._hash = createHash(data.hash)
- this._tag = data.id
- this._signType = data.sign
-}
-inherits(Verify, stream.Writable)
-
-Verify.prototype._write = function _write (data, _, done) {
- this._hash.update(data)
- done()
-}
-
-Verify.prototype.update = function update (data, enc) {
- if (typeof data === 'string') data = new Buffer(data, enc)
-
- this._hash.update(data)
- return this
-}
-
-Verify.prototype.verify = function verifyMethod (key, sig, enc) {
- if (typeof sig === 'string') sig = new Buffer(sig, enc)
-
- this.end()
- var hash = this._hash.digest()
- return verify(sig, hash, key, this._signType, this._tag)
-}
-
-function createSign (algorithm) {
- return new Sign(algorithm)
-}
-
-function createVerify (algorithm) {
- return new Verify(algorithm)
-}
-
-module.exports = {
- Sign: createSign,
- Verify: createVerify,
- createSign: createSign,
- createVerify: createVerify
-}
diff --git a/node_modules/browserify-sign/browser/sign.js b/node_modules/browserify-sign/browser/sign.js
deleted file mode 100644
index d2be0d26f..000000000
--- a/node_modules/browserify-sign/browser/sign.js
+++ /dev/null
@@ -1,145 +0,0 @@
-// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
-var createHmac = require('create-hmac')
-var crt = require('browserify-rsa')
-var EC = require('elliptic').ec
-var BN = require('bn.js')
-var parseKeys = require('parse-asn1')
-var curves = require('./curves.json')
-
-function sign (hash, key, hashType, signType, tag) {
- var priv = parseKeys(key)
- if (priv.curve) {
- // rsa keys can be interpreted as ecdsa ones in openssl
- if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')
- return ecSign(hash, priv)
- } else if (priv.type === 'dsa') {
- if (signType !== 'dsa') throw new Error('wrong private key type')
- return dsaSign(hash, priv, hashType)
- } else {
- if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')
- }
- hash = Buffer.concat([tag, hash])
- var len = priv.modulus.byteLength()
- var pad = [ 0, 1 ]
- while (hash.length + pad.length + 1 < len) pad.push(0xff)
- pad.push(0x00)
- var i = -1
- while (++i < hash.length) pad.push(hash[i])
-
- var out = crt(pad, priv)
- return out
-}
-
-function ecSign (hash, priv) {
- var curveId = curves[priv.curve.join('.')]
- if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))
-
- var curve = new EC(curveId)
- var key = curve.keyFromPrivate(priv.privateKey)
- var out = key.sign(hash)
-
- return new Buffer(out.toDER())
-}
-
-function dsaSign (hash, priv, algo) {
- var x = priv.params.priv_key
- var p = priv.params.p
- var q = priv.params.q
- var g = priv.params.g
- var r = new BN(0)
- var k
- var H = bits2int(hash, q).mod(q)
- var s = false
- var kv = getKey(x, q, hash, algo)
- while (s === false) {
- k = makeKey(q, kv, algo)
- r = makeR(g, k, p, q)
- s = k.invm(q).imul(H.add(x.mul(r))).mod(q)
- if (s.cmpn(0) === 0) {
- s = false
- r = new BN(0)
- }
- }
- return toDER(r, s)
-}
-
-function toDER (r, s) {
- r = r.toArray()
- s = s.toArray()
-
- // Pad values
- if (r[0] & 0x80) r = [ 0 ].concat(r)
- if (s[0] & 0x80) s = [ 0 ].concat(s)
-
- var total = r.length + s.length + 4
- var res = [ 0x30, total, 0x02, r.length ]
- res = res.concat(r, [ 0x02, s.length ], s)
- return new Buffer(res)
-}
-
-function getKey (x, q, hash, algo) {
- x = new Buffer(x.toArray())
- if (x.length < q.byteLength()) {
- var zeros = new Buffer(q.byteLength() - x.length)
- zeros.fill(0)
- x = Buffer.concat([ zeros, x ])
- }
- var hlen = hash.length
- var hbits = bits2octets(hash, q)
- var v = new Buffer(hlen)
- v.fill(1)
- var k = new Buffer(hlen)
- k.fill(0)
- k = createHmac(algo, k).update(v).update(new Buffer([ 0 ])).update(x).update(hbits).digest()
- v = createHmac(algo, k).update(v).digest()
- k = createHmac(algo, k).update(v).update(new Buffer([ 1 ])).update(x).update(hbits).digest()
- v = createHmac(algo, k).update(v).digest()
- return { k: k, v: v }
-}
-
-function bits2int (obits, q) {
- var bits = new BN(obits)
- var shift = (obits.length << 3) - q.bitLength()
- if (shift > 0) bits.ishrn(shift)
- return bits
-}
-
-function bits2octets (bits, q) {
- bits = bits2int(bits, q)
- bits = bits.mod(q)
- var out = new Buffer(bits.toArray())
- if (out.length < q.byteLength()) {
- var zeros = new Buffer(q.byteLength() - out.length)
- zeros.fill(0)
- out = Buffer.concat([ zeros, out ])
- }
- return out
-}
-
-function makeKey (q, kv, algo) {
- var t
- var k
-
- do {
- t = new Buffer(0)
-
- while (t.length * 8 < q.bitLength()) {
- kv.v = createHmac(algo, kv.k).update(kv.v).digest()
- t = Buffer.concat([ t, kv.v ])
- }
-
- k = bits2int(t, q)
- kv.k = createHmac(algo, kv.k).update(kv.v).update(new Buffer([ 0 ])).digest()
- kv.v = createHmac(algo, kv.k).update(kv.v).digest()
- } while (k.cmp(q) !== -1)
-
- return k
-}
-
-function makeR (g, k, p, q) {
- return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)
-}
-
-module.exports = sign
-module.exports.getKey = getKey
-module.exports.makeKey = makeKey
diff --git a/node_modules/browserify-sign/browser/verify.js b/node_modules/browserify-sign/browser/verify.js
deleted file mode 100644
index 4c24091f4..000000000
--- a/node_modules/browserify-sign/browser/verify.js
+++ /dev/null
@@ -1,83 +0,0 @@
-// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
-var BN = require('bn.js')
-var EC = require('elliptic').ec
-var parseKeys = require('parse-asn1')
-var curves = require('./curves.json')
-
-function verify (sig, hash, key, signType, tag) {
- var pub = parseKeys(key)
- if (pub.type === 'ec') {
- // rsa keys can be interpreted as ecdsa ones in openssl
- if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')
- return ecVerify(sig, hash, pub)
- } else if (pub.type === 'dsa') {
- if (signType !== 'dsa') throw new Error('wrong public key type')
- return dsaVerify(sig, hash, pub)
- } else {
- if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')
- }
- hash = Buffer.concat([tag, hash])
- var len = pub.modulus.byteLength()
- var pad = [ 1 ]
- var padNum = 0
- while (hash.length + pad.length + 2 < len) {
- pad.push(0xff)
- padNum++
- }
- pad.push(0x00)
- var i = -1
- while (++i < hash.length) {
- pad.push(hash[i])
- }
- pad = new Buffer(pad)
- var red = BN.mont(pub.modulus)
- sig = new BN(sig).toRed(red)
-
- sig = sig.redPow(new BN(pub.publicExponent))
- sig = new Buffer(sig.fromRed().toArray())
- var out = padNum < 8 ? 1 : 0
- len = Math.min(sig.length, pad.length)
- if (sig.length !== pad.length) out = 1
-
- i = -1
- while (++i < len) out |= sig[i] ^ pad[i]
- return out === 0
-}
-
-function ecVerify (sig, hash, pub) {
- var curveId = curves[pub.data.algorithm.curve.join('.')]
- if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))
-
- var curve = new EC(curveId)
- var pubkey = pub.data.subjectPrivateKey.data
-
- return curve.verify(hash, sig, pubkey)
-}
-
-function dsaVerify (sig, hash, pub) {
- var p = pub.data.p
- var q = pub.data.q
- var g = pub.data.g
- var y = pub.data.pub_key
- var unpacked = parseKeys.signature.decode(sig, 'der')
- var s = unpacked.s
- var r = unpacked.r
- checkValue(s, q)
- checkValue(r, q)
- var montp = BN.mont(p)
- var w = s.invm(q)
- var v = g.toRed(montp)
- .redPow(new BN(hash).mul(w).mod(q))
- .fromRed()
- .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())
- .mod(p)
- .mod(q)
- return v.cmp(r) === 0
-}
-
-function checkValue (b, q) {
- if (b.cmpn(0) <= 0) throw new Error('invalid sig')
- if (b.cmp(q) >= q) throw new Error('invalid sig')
-}
-
-module.exports = verify
diff --git a/node_modules/browserify-sign/index.js b/node_modules/browserify-sign/index.js
deleted file mode 100644
index dafa0bc3e..000000000
--- a/node_modules/browserify-sign/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var crypto = require('crypto')
-
-exports.createSign = crypto.createSign
-exports.Sign = crypto.Sign
-
-exports.createVerify = crypto.createVerify
-exports.Verify = crypto.Verify
diff --git a/node_modules/browserify-sign/package.json b/node_modules/browserify-sign/package.json
deleted file mode 100644
index bb3dc4403..000000000
--- a/node_modules/browserify-sign/package.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "browserify-sign",
- "version": "4.0.4",
- "description": "adds node crypto signing for browsers",
- "bugs": {
- "url": "https://github.com/crypto-browserify/browserify-sign/issues"
- },
- "license": "ISC",
- "files": [
- "browser",
- "index.js",
- "algos.js"
- ],
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "https://github.com/crypto-browserify/browserify-sign.git"
- },
- "scripts": {
- "coverage": "nyc npm run unit",
- "lint": "standard",
- "test": "npm run lint && npm run unit",
- "unit": "tape test/*.js"
- },
- "dependencies": {
- "bn.js": "^4.1.1",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.2",
- "elliptic": "^6.0.0",
- "inherits": "^2.0.1",
- "parse-asn1": "^5.0.0"
- },
- "devDependencies": {
- "nyc": "^6.1.1",
- "standard": "^6.0.8",
- "tape": "^4.5.1"
- },
- "browser": "browser/index.js"
-}