104 lines
2.9 KiB
JavaScript
104 lines
2.9 KiB
JavaScript
'use strict';
|
|
|
|
// eslint-disable-next-line no-multi-assign
|
|
exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes');
|
|
|
|
// eslint-disable-next-line no-multi-assign
|
|
exports.createHash = exports.Hash = require('create-hash');
|
|
|
|
// eslint-disable-next-line no-multi-assign
|
|
exports.createHmac = exports.Hmac = require('create-hmac');
|
|
|
|
var algos = require('browserify-sign/algos');
|
|
var algoKeys = Object.keys(algos);
|
|
var hashes = [
|
|
'sha1',
|
|
'sha224',
|
|
'sha256',
|
|
'sha384',
|
|
'sha512',
|
|
'md5',
|
|
'rmd160'
|
|
].concat(algoKeys);
|
|
|
|
exports.getHashes = function () {
|
|
return hashes;
|
|
};
|
|
|
|
var p = require('pbkdf2');
|
|
exports.pbkdf2 = p.pbkdf2;
|
|
exports.pbkdf2Sync = p.pbkdf2Sync;
|
|
|
|
var aes = require('browserify-cipher');
|
|
|
|
exports.Cipher = aes.Cipher;
|
|
exports.createCipher = aes.createCipher;
|
|
exports.Cipheriv = aes.Cipheriv;
|
|
exports.createCipheriv = aes.createCipheriv;
|
|
exports.Decipher = aes.Decipher;
|
|
exports.createDecipher = aes.createDecipher;
|
|
exports.Decipheriv = aes.Decipheriv;
|
|
exports.createDecipheriv = aes.createDecipheriv;
|
|
exports.getCiphers = aes.getCiphers;
|
|
exports.listCiphers = aes.listCiphers;
|
|
|
|
var dh = require('diffie-hellman');
|
|
|
|
exports.DiffieHellmanGroup = dh.DiffieHellmanGroup;
|
|
exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup;
|
|
exports.getDiffieHellman = dh.getDiffieHellman;
|
|
exports.createDiffieHellman = dh.createDiffieHellman;
|
|
exports.DiffieHellman = dh.DiffieHellman;
|
|
|
|
var sign = require('browserify-sign');
|
|
|
|
exports.createSign = sign.createSign;
|
|
exports.Sign = sign.Sign;
|
|
exports.createVerify = sign.createVerify;
|
|
exports.Verify = sign.Verify;
|
|
|
|
exports.createECDH = require('create-ecdh');
|
|
|
|
var publicEncrypt = require('public-encrypt');
|
|
|
|
exports.publicEncrypt = publicEncrypt.publicEncrypt;
|
|
exports.privateEncrypt = publicEncrypt.privateEncrypt;
|
|
exports.publicDecrypt = publicEncrypt.publicDecrypt;
|
|
exports.privateDecrypt = publicEncrypt.privateDecrypt;
|
|
|
|
// the least I can do is make error messages for the rest of the node.js/crypto api.
|
|
// [
|
|
// 'createCredentials'
|
|
// ].forEach(function (name) {
|
|
// exports[name] = function () {
|
|
// throw new Error('sorry, ' + name + ' is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify');
|
|
// };
|
|
// });
|
|
|
|
var rf = require('randomfill');
|
|
|
|
exports.randomFill = rf.randomFill;
|
|
exports.randomFillSync = rf.randomFillSync;
|
|
|
|
exports.createCredentials = function () {
|
|
throw new Error('sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify');
|
|
};
|
|
|
|
exports.constants = {
|
|
DH_CHECK_P_NOT_SAFE_PRIME: 2,
|
|
DH_CHECK_P_NOT_PRIME: 1,
|
|
DH_UNABLE_TO_CHECK_GENERATOR: 4,
|
|
DH_NOT_SUITABLE_GENERATOR: 8,
|
|
NPN_ENABLED: 1,
|
|
ALPN_ENABLED: 1,
|
|
RSA_PKCS1_PADDING: 1,
|
|
RSA_SSLV23_PADDING: 2,
|
|
RSA_NO_PADDING: 3,
|
|
RSA_PKCS1_OAEP_PADDING: 4,
|
|
RSA_X931_PADDING: 5,
|
|
RSA_PKCS1_PSS_PADDING: 6,
|
|
POINT_CONVERSION_COMPRESSED: 2,
|
|
POINT_CONVERSION_UNCOMPRESSED: 4,
|
|
POINT_CONVERSION_HYBRID: 6
|
|
};
|