98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| 
 | |
| exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')
 | |
| exports.createHash = exports.Hash = require('create-hash')
 | |
| 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',
 | |
| //       'we accept pull requests',
 | |
| //       'https://github.com/crypto-browserify/crypto-browserify'
 | |
| //     ].join('\n'))
 | |
| //   }
 | |
| // })
 | |
| 
 | |
| var rf = require('randomfill')
 | |
| 
 | |
| exports.randomFill = rf.randomFill
 | |
| exports.randomFillSync = rf.randomFillSync
 | |
| 
 | |
| exports.createCredentials = function () {
 | |
|   throw new Error([
 | |
|     'sorry, createCredentials is not implemented yet',
 | |
|     'we accept pull requests',
 | |
|     'https://github.com/crypto-browserify/crypto-browserify'
 | |
|   ].join('\n'))
 | |
| }
 | |
| 
 | |
| 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
 | |
| }
 |