
This PR adds four config options to configure whether and how to load indutny/elliptic: use_indutny_elliptic, external_indutny_elliptic, indutny_elliptic_path and indutny_elliptic_fetch_options. Also: - Use tweetnacl.js instead of indutny/elliptic for curve25519 key generation - Don't initialize indutny's curve25519, improving performance when using that curve - Verify NIST signatures using Web Crypto instead of indutny/elliptic when not streaming - Move KeyPair.sign/verify to ecdsa.js - Move KeyPair.derive to ecdh.js - Move keyFromPrivate and keyFromPublic to a new indutnyKey.js file
162 lines
3.2 KiB
JavaScript
162 lines
3.2 KiB
JavaScript
/* eslint-disable import/newline-after-import, import/first */
|
|
|
|
/**
|
|
* Export high level api as default.
|
|
* Usage:
|
|
*
|
|
* import openpgp from 'openpgp.js'
|
|
* openpgp.encryptMessage(keys, text)
|
|
*/
|
|
import * as openpgp from './openpgp';
|
|
export default openpgp;
|
|
|
|
/**
|
|
* Export each high level api function separately.
|
|
* Usage:
|
|
*
|
|
* import { encryptMessage } from 'openpgp.js'
|
|
* encryptMessage(keys, text)
|
|
*/
|
|
export {
|
|
encrypt, decrypt, sign, verify,
|
|
generateKey, reformatKey, revokeKey, decryptKey,
|
|
encryptSessionKey, decryptSessionKeys,
|
|
initWorker, getWorker, destroyWorker
|
|
} from './openpgp';
|
|
|
|
/**
|
|
* @see module:key
|
|
* @name module:openpgp.key
|
|
*/
|
|
import * as keyMod from './key';
|
|
export const key = keyMod;
|
|
|
|
/**
|
|
* @see module:signature
|
|
* @name module:openpgp.signature
|
|
*/
|
|
import * as signatureMod from './signature';
|
|
export const signature = signatureMod;
|
|
|
|
/**
|
|
* @see module:message
|
|
* @name module:openpgp.message
|
|
*/
|
|
import * as messageMod from './message';
|
|
export const message = messageMod;
|
|
|
|
/**
|
|
* @see module:cleartext
|
|
* @name module:openpgp.cleartext
|
|
*/
|
|
import * as cleartextMod from './cleartext';
|
|
export const cleartext = cleartextMod;
|
|
|
|
/**
|
|
* @see module:util
|
|
* @name module:openpgp.util
|
|
*/
|
|
export { default as util } from './util';
|
|
|
|
/**
|
|
* @see module:packet
|
|
* @name module:openpgp.packet
|
|
*/
|
|
export { default as packet } from './packet';
|
|
|
|
/**
|
|
* @see module:type/mpi
|
|
* @name module:openpgp.MPI
|
|
*/
|
|
export { default as MPI } from './type/mpi';
|
|
|
|
/**
|
|
* @see module:type/s2k
|
|
* @name module:openpgp.S2K
|
|
*/
|
|
export { default as S2K } from './type/s2k';
|
|
|
|
/**
|
|
* @see module:type/keyid
|
|
* @name module:openpgp.Keyid
|
|
*/
|
|
export { default as Keyid } from './type/keyid';
|
|
|
|
/**
|
|
* @see module:type/ecdh_symkey
|
|
* @name module:openpgp.ECDHSymmetricKey
|
|
*/
|
|
export { default as ECDHSymmetricKey } from './type/ecdh_symkey';
|
|
|
|
/**
|
|
* @see module:type/kdf_params
|
|
* @name module:openpgp.KDFParams
|
|
*/
|
|
export { default as KDFParams } from './type/kdf_params';
|
|
|
|
/**
|
|
* @see module:type/oid
|
|
* @name module:openpgp.OID
|
|
*/
|
|
export { default as OID } from './type/oid';
|
|
|
|
/**
|
|
* @see streams
|
|
* @name module:openpgp.stream
|
|
*/
|
|
export { default as stream } from 'web-stream-tools';
|
|
|
|
/**
|
|
* @see module:encoding/armor
|
|
* @name module:openpgp.armor
|
|
*/
|
|
export { default as armor } from './encoding/armor';
|
|
|
|
/**
|
|
* @see module:enums
|
|
* @name module:openpgp.enums
|
|
*/
|
|
export { default as enums } from './enums';
|
|
|
|
/**
|
|
* @see module:config/config
|
|
* @name module:openpgp.config
|
|
*/
|
|
export { default as config } from './config/config';
|
|
|
|
/**
|
|
* @see module:crypto
|
|
* @name module:openpgp.crypto
|
|
*/
|
|
export { default as crypto } from './crypto';
|
|
|
|
/**
|
|
* @see module:keyring
|
|
* @name module:openpgp.Keyring
|
|
*/
|
|
export { default as Keyring } from './keyring';
|
|
|
|
/**
|
|
* @see module:worker/async_proxy
|
|
* @name module:openpgp.AsyncProxy
|
|
*/
|
|
export { default as AsyncProxy } from './worker/async_proxy';
|
|
|
|
/**
|
|
* @see module:hkp
|
|
* @name module:openpgp.HKP
|
|
*/
|
|
export { default as HKP } from './hkp';
|
|
|
|
/**
|
|
* @see module:wkd
|
|
* @name module:openpgp.WKD
|
|
*/
|
|
export { default as WKD } from './wkd';
|
|
|
|
/**
|
|
* @see module:lightweight
|
|
*/
|
|
import * as lightweightMod from './lightweight_helper';
|
|
export const lightweight = lightweightMod;
|