117 lines
4.6 KiB
TypeScript
117 lines
4.6 KiB
TypeScript
import { JSEncryptRSAKey } from "./JSEncryptRSAKey";
|
|
export interface IJSEncryptOptions {
|
|
default_key_size?: string;
|
|
default_public_exponent?: string;
|
|
log?: boolean;
|
|
}
|
|
/**
|
|
*
|
|
* @param {Object} [options = {}] - An object to customize JSEncrypt behaviour
|
|
* possible parameters are:
|
|
* - default_key_size {number} default: 1024 the key size in bit
|
|
* - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent
|
|
* - log {boolean} default: false whether log warn/error or not
|
|
* @constructor
|
|
*/
|
|
export declare class JSEncrypt {
|
|
constructor(options?: IJSEncryptOptions);
|
|
private default_key_size;
|
|
private default_public_exponent;
|
|
private log;
|
|
private key;
|
|
static version: string;
|
|
/**
|
|
* Method to set the rsa key parameter (one method is enough to set both the public
|
|
* and the private key, since the private key contains the public key paramenters)
|
|
* Log a warning if logs are enabled
|
|
* @param {Object|string} key the pem encoded string or an object (with or without header/footer)
|
|
* @public
|
|
*/
|
|
setKey(key: string): void;
|
|
/**
|
|
* Proxy method for setKey, for api compatibility
|
|
* @see setKey
|
|
* @public
|
|
*/
|
|
setPrivateKey(privkey: string): void;
|
|
/**
|
|
* Proxy method for setKey, for api compatibility
|
|
* @see setKey
|
|
* @public
|
|
*/
|
|
setPublicKey(pubkey: string): void;
|
|
/**
|
|
* Proxy method for RSAKey object's decrypt, decrypt the string using the private
|
|
* components of the rsa key object. Note that if the object was not set will be created
|
|
* on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor
|
|
* @param {string} str base64 encoded crypted string to decrypt
|
|
* @return {string} the decrypted string
|
|
* @public
|
|
*/
|
|
decrypt(str: string): string | false;
|
|
/**
|
|
* Proxy method for RSAKey object's encrypt, encrypt the string using the public
|
|
* components of the rsa key object. Note that if the object was not set will be created
|
|
* on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor
|
|
* @param {string} str the string to encrypt
|
|
* @return {string} the encrypted string encoded in base64
|
|
* @public
|
|
*/
|
|
encrypt(str: string): string | false;
|
|
/**
|
|
* Proxy method for RSAKey object's sign.
|
|
* @param {string} str the string to sign
|
|
* @param {function} digestMethod hash method
|
|
* @param {string} digestName the name of the hash algorithm
|
|
* @return {string} the signature encoded in base64
|
|
* @public
|
|
*/
|
|
sign(str: string, digestMethod: (str: string) => string, digestName: string): string | false;
|
|
/**
|
|
* Proxy method for RSAKey object's verify.
|
|
* @param {string} str the string to verify
|
|
* @param {string} signature the signature encoded in base64 to compare the string to
|
|
* @param {function} digestMethod hash method
|
|
* @return {boolean} whether the data and signature match
|
|
* @public
|
|
*/
|
|
verify(str: string, signature: string, digestMethod: (str: string) => string): boolean;
|
|
/**
|
|
* Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object
|
|
* will be created and returned
|
|
* @param {callback} [cb] the callback to be called if we want the key to be generated
|
|
* in an async fashion
|
|
* @returns {JSEncryptRSAKey} the JSEncryptRSAKey object
|
|
* @public
|
|
*/
|
|
getKey(cb?: () => void): JSEncryptRSAKey;
|
|
/**
|
|
* Returns the pem encoded representation of the private key
|
|
* If the key doesn't exists a new key will be created
|
|
* @returns {string} pem encoded representation of the private key WITH header and footer
|
|
* @public
|
|
*/
|
|
getPrivateKey(): string;
|
|
/**
|
|
* Returns the pem encoded representation of the private key
|
|
* If the key doesn't exists a new key will be created
|
|
* @returns {string} pem encoded representation of the private key WITHOUT header and footer
|
|
* @public
|
|
*/
|
|
getPrivateKeyB64(): string;
|
|
/**
|
|
* Returns the pem encoded representation of the public key
|
|
* If the key doesn't exists a new key will be created
|
|
* @returns {string} pem encoded representation of the public key WITH header and footer
|
|
* @public
|
|
*/
|
|
getPublicKey(): string;
|
|
/**
|
|
* Returns the pem encoded representation of the public key
|
|
* If the key doesn't exists a new key will be created
|
|
* @returns {string} pem encoded representation of the public key WITHOUT header and footer
|
|
* @public
|
|
*/
|
|
getPublicKeyB64(): string;
|
|
}
|