模块 java.base

类 KeyPairGeneratorSpi

java.lang.Object
java.security.KeyPairGeneratorSpi
已知子类:
KeyPairGenerator

public abstract class KeyPairGeneratorSpi extends Object

这个类定义了服务提供商接口 (SPI) 用于 KeyPairGenerator 类,用于生成公钥和私钥对。

此类中的所有抽象方法必须由每个希望为特定算法提供密钥对生成器实现的密码服务提供者实现。

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

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

    • KeyPairGeneratorSpi

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

    • initialize

      public abstract void initialize(int keysize, SecureRandom  random)
      使用默认参数集为特定密钥大小初始化密钥对生成器。
      参数:
      keysize - 密钥大小。这是特定于算法的度量,例如以位数指定的模数长度。
      random - 此生成器的随机源。
      抛出:
      InvalidParameterException - 如果此 KeyPairGeneratorSpi 对象不支持 keysize
    • initialize

      public void initialize(AlgorithmParameterSpec  params, SecureRandom  random) throws InvalidAlgorithmParameterException
      使用指定的参数集和用户提供的随机源初始化密钥对生成器。

      此具体方法已添加到此先前定义的抽象类中。 (为了向后兼容,它不能是抽象的。)它可能被提供者覆盖以初始化密钥对生成器。如果参数不适合此密钥对生成器,则此类覆盖预计会抛出 InvalidAlgorithmParameterException。如果此方法未被覆盖,它总是抛出一个 UnsupportedOperationException

      参数:
      params - 用于生成密钥的参数集。
      random - 此生成器的随机源。
      抛出:
      InvalidAlgorithmParameterException - 如果给定的参数不适合此密钥对生成器。
      自从:
      1.2
    • generateKeyPair

      public abstract KeyPair  generateKeyPair()
      生成密钥对。除非使用 KeyPairGenerator 接口调用初始化方法,否则将使用特定于算法的默认值。这将在每次调用时生成一个新的密钥对。
      返回:
      新生成的KeyPair