index.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. 'use strict';
  2. // eslint-disable-next-line no-multi-assign
  3. exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes');
  4. // eslint-disable-next-line no-multi-assign
  5. exports.createHash = exports.Hash = require('create-hash');
  6. // eslint-disable-next-line no-multi-assign
  7. exports.createHmac = exports.Hmac = require('create-hmac');
  8. var algos = require('browserify-sign/algos');
  9. var algoKeys = Object.keys(algos);
  10. var hashes = [
  11. 'sha1',
  12. 'sha224',
  13. 'sha256',
  14. 'sha384',
  15. 'sha512',
  16. 'md5',
  17. 'rmd160'
  18. ].concat(algoKeys);
  19. exports.getHashes = function () {
  20. return hashes;
  21. };
  22. var p = require('pbkdf2');
  23. exports.pbkdf2 = p.pbkdf2;
  24. exports.pbkdf2Sync = p.pbkdf2Sync;
  25. var aes = require('browserify-cipher');
  26. exports.Cipher = aes.Cipher;
  27. exports.createCipher = aes.createCipher;
  28. exports.Cipheriv = aes.Cipheriv;
  29. exports.createCipheriv = aes.createCipheriv;
  30. exports.Decipher = aes.Decipher;
  31. exports.createDecipher = aes.createDecipher;
  32. exports.Decipheriv = aes.Decipheriv;
  33. exports.createDecipheriv = aes.createDecipheriv;
  34. exports.getCiphers = aes.getCiphers;
  35. exports.listCiphers = aes.listCiphers;
  36. var dh = require('diffie-hellman');
  37. exports.DiffieHellmanGroup = dh.DiffieHellmanGroup;
  38. exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup;
  39. exports.getDiffieHellman = dh.getDiffieHellman;
  40. exports.createDiffieHellman = dh.createDiffieHellman;
  41. exports.DiffieHellman = dh.DiffieHellman;
  42. var sign = require('browserify-sign');
  43. exports.createSign = sign.createSign;
  44. exports.Sign = sign.Sign;
  45. exports.createVerify = sign.createVerify;
  46. exports.Verify = sign.Verify;
  47. exports.createECDH = require('create-ecdh');
  48. var publicEncrypt = require('public-encrypt');
  49. exports.publicEncrypt = publicEncrypt.publicEncrypt;
  50. exports.privateEncrypt = publicEncrypt.privateEncrypt;
  51. exports.publicDecrypt = publicEncrypt.publicDecrypt;
  52. exports.privateDecrypt = publicEncrypt.privateDecrypt;
  53. // the least I can do is make error messages for the rest of the node.js/crypto api.
  54. // [
  55. // 'createCredentials'
  56. // ].forEach(function (name) {
  57. // exports[name] = function () {
  58. // throw new Error('sorry, ' + name + ' is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify');
  59. // };
  60. // });
  61. var rf = require('randomfill');
  62. exports.randomFill = rf.randomFill;
  63. exports.randomFillSync = rf.randomFillSync;
  64. exports.createCredentials = function () {
  65. throw new Error('sorry, createCredentials is not implemented yet\nwe accept pull requests\nhttps://github.com/browserify/crypto-browserify');
  66. };
  67. exports.constants = {
  68. DH_CHECK_P_NOT_SAFE_PRIME: 2,
  69. DH_CHECK_P_NOT_PRIME: 1,
  70. DH_UNABLE_TO_CHECK_GENERATOR: 4,
  71. DH_NOT_SUITABLE_GENERATOR: 8,
  72. NPN_ENABLED: 1,
  73. ALPN_ENABLED: 1,
  74. RSA_PKCS1_PADDING: 1,
  75. RSA_SSLV23_PADDING: 2,
  76. RSA_NO_PADDING: 3,
  77. RSA_PKCS1_OAEP_PADDING: 4,
  78. RSA_X931_PADDING: 5,
  79. RSA_PKCS1_PSS_PADDING: 6,
  80. POINT_CONVERSION_COMPRESSED: 2,
  81. POINT_CONVERSION_UNCOMPRESSED: 4,
  82. POINT_CONVERSION_HYBRID: 6
  83. };