declare namespace javax { namespace crypto { /** * This class defines the Service Provider Interface (SPI) * for the KeyGenerator class. * All the abstract methods in this class must be implemented by each * cryptographic service provider who wishes to supply the implementation * of a key generator for a particular algorithm. * @author Jan Luehe * @see SecretKey * @since 1.4 */ // @ts-ignore abstract class KeyGeneratorSpi extends java.lang.Object { // @ts-ignore constructor() /** * Initializes the key generator. * @param random the source of randomness for this generator */ // @ts-ignore abstract engineInit(random: java.security.SecureRandom): void /** * Initializes the key generator with the specified parameter * set and a user-provided source of randomness. * @param params the key generation parameters * @param random the source of randomness for this key generator * @exception InvalidAlgorithmParameterException if params is * inappropriate for this key generator */ // @ts-ignore abstract engineInit(params: java.security.spec.AlgorithmParameterSpec, random: java.security.SecureRandom): void /** * Initializes this key generator for a certain keysize, using the given * source of randomness. * @param keysize the keysize. This is an algorithm-specific metric, * specified in number of bits. * @param random the source of randomness for this key generator * @exception InvalidParameterException if the keysize is wrong or not * supported. */ // @ts-ignore abstract engineInit(keysize: number /*int*/, random: java.security.SecureRandom): void /** * Generates a secret key. * @return the new key */ // @ts-ignore abstract engineGenerateKey(): javax.crypto.SecretKey } } }