模块 java.base

类 KeyGeneratorSpi

java.lang.Object
javax.crypto.KeyGeneratorSpi

public abstract class KeyGeneratorSpi extends Object
这个类定义了服务提供商接口 (SPI) 为 KeyGenerator 类。此类中的所有抽象方法必须由每个希望为特定算法提供密钥生成器实现的密码服务提供者实现。

如果客户端未显式初始化 KeyGenerator(通过调用 init 方法),每个提供者必须提供(并记录)默认初始化。有关 JDK 提供程序使用的 KeyGenerator 默认值的信息,请参阅 JDK 供应商 文档的密钥大小限制部分。但是,请注意默认值可能因不同的提供商而异。此外,提供程序的默认值可能会在未来版本中更改。因此,建议显式初始化 KeyGenerator 而不是依赖特定于提供程序的默认值。

自从:
1.4
参见:
  • 构造方法详细信息

    • KeyGeneratorSpi

      public KeyGeneratorSpi()
      子类调用的构造方法。
  • 方法详情

    • engineInit

      protected abstract void engineInit(SecureRandom  random)
      初始化密钥生成器。
      参数:
      random - 此生成器的随机源
    • engineInit

      protected abstract void engineInit(AlgorithmParameterSpec  params, SecureRandom  random) throws InvalidAlgorithmParameterException
      使用指定的参数集和用户提供的随机源初始化密钥生成器。
      参数:
      params——密钥生成参数
      random - 此密钥生成器的随机源
      抛出:
      InvalidAlgorithmParameterException - 如果 params 不适合此密钥生成器
    • engineInit

      protected abstract void engineInit(int keysize, SecureRandom  random)
      使用给定的随机源为特定密钥大小初始化此密钥生成器。
      参数:
      keysize - 密钥大小。这是特定于算法的度量,以位数指定。
      random - 此密钥生成器的随机源
      抛出:
      InvalidParameterException - 如果密钥大小错误或不受支持。
    • engineGenerateKey

      protected abstract SecretKey  engineGenerateKey()
      生成密钥。
      返回:
      新钥匙