forked from enviPath/enviPy
Current Dev State
This commit is contained in:
13
static/js/ketcher2/node_modules/browserify-sign/LICENSE
generated
vendored
Normal file
13
static/js/ketcher2/node_modules/browserify-sign/LICENSE
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
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.
|
||||
13
static/js/ketcher2/node_modules/browserify-sign/README.md
generated
vendored
Normal file
13
static/js/ketcher2/node_modules/browserify-sign/README.md
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# browserify-sign
|
||||
|
||||
[](https://www.npmjs.org/package/browserify-sign)
|
||||
[](https://travis-ci.org/crypto-browserify/browserify-sign)
|
||||
[](https://david-dm.org/crypto-browserify/browserify-sign#info=dependencies)
|
||||
|
||||
[](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
|
||||
1
static/js/ketcher2/node_modules/browserify-sign/algos.js
generated
vendored
Normal file
1
static/js/ketcher2/node_modules/browserify-sign/algos.js
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
module.exports = require('./browser/algorithms.json')
|
||||
152
static/js/ketcher2/node_modules/browserify-sign/browser/algorithms.json
generated
vendored
Normal file
152
static/js/ketcher2/node_modules/browserify-sign/browser/algorithms.json
generated
vendored
Normal file
@ -0,0 +1,152 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
8
static/js/ketcher2/node_modules/browserify-sign/browser/curves.json
generated
vendored
Normal file
8
static/js/ketcher2/node_modules/browserify-sign/browser/curves.json
generated
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
91
static/js/ketcher2/node_modules/browserify-sign/browser/index.js
generated
vendored
Normal file
91
static/js/ketcher2/node_modules/browserify-sign/browser/index.js
generated
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
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
|
||||
}
|
||||
145
static/js/ketcher2/node_modules/browserify-sign/browser/sign.js
generated
vendored
Normal file
145
static/js/ketcher2/node_modules/browserify-sign/browser/sign.js
generated
vendored
Normal file
@ -0,0 +1,145 @@
|
||||
// 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
|
||||
83
static/js/ketcher2/node_modules/browserify-sign/browser/verify.js
generated
vendored
Normal file
83
static/js/ketcher2/node_modules/browserify-sign/browser/verify.js
generated
vendored
Normal file
@ -0,0 +1,83 @@
|
||||
// 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
|
||||
7
static/js/ketcher2/node_modules/browserify-sign/index.js
generated
vendored
Normal file
7
static/js/ketcher2/node_modules/browserify-sign/index.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
var crypto = require('crypto')
|
||||
|
||||
exports.createSign = crypto.createSign
|
||||
exports.Sign = crypto.Sign
|
||||
|
||||
exports.createVerify = crypto.createVerify
|
||||
exports.Verify = crypto.Verify
|
||||
66
static/js/ketcher2/node_modules/browserify-sign/package.json
generated
vendored
Normal file
66
static/js/ketcher2/node_modules/browserify-sign/package.json
generated
vendored
Normal file
@ -0,0 +1,66 @@
|
||||
{
|
||||
"_from": "browserify-sign@^4.0.0",
|
||||
"_id": "browserify-sign@4.0.4",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
|
||||
"_location": "/browserify-sign",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "browserify-sign@^4.0.0",
|
||||
"name": "browserify-sign",
|
||||
"escapedName": "browserify-sign",
|
||||
"rawSpec": "^4.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^4.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/crypto-browserify"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
|
||||
"_shasum": "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298",
|
||||
"_spec": "browserify-sign@^4.0.0",
|
||||
"_where": "/home/manfred/enviPath/ketcher2/ketcher/node_modules/crypto-browserify",
|
||||
"browser": "browser/index.js",
|
||||
"bugs": {
|
||||
"url": "https://github.com/crypto-browserify/browserify-sign/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"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"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "adds node crypto signing for browsers",
|
||||
"devDependencies": {
|
||||
"nyc": "^6.1.1",
|
||||
"standard": "^6.0.8",
|
||||
"tape": "^4.5.1"
|
||||
},
|
||||
"files": [
|
||||
"browser",
|
||||
"index.js",
|
||||
"algos.js"
|
||||
],
|
||||
"homepage": "https://github.com/crypto-browserify/browserify-sign#readme",
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"name": "browserify-sign",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+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"
|
||||
},
|
||||
"version": "4.0.4"
|
||||
}
|
||||
Reference in New Issue
Block a user