Module java.base
Package java.security

Class KeyPairGeneratorSpi

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

public abstract class KeyPairGeneratorSpi extends Object

此类定义了用于生成公钥和私钥对的KeyPairGenerator类的服务提供程序接口SPI)。

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

如果客户端没有显式初始化KeyPairGenerator(通过调用initialize方法),则每个提供程序必须提供(并记录)默认初始化。有关JDK提供程序使用的KeyPairGenerator默认值,请参阅JDK提供程序文档中的Keysize Restriction部分。但是,请注意,不同提供程序的默认值可能会有所不同。此外,提供程序的默认值可能会在将来的版本中更改。因此,建议显式初始化KeyPairGenerator,而不是依赖于特定于提供程序的默认值。

自 JDK 1.2 起:
1.2
参见:
  • Constructor Details

    • KeyPairGeneratorSpi

      public KeyPairGeneratorSpi()
      子类调用的构造函数。
  • Method Details

    • initialize

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

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

      此具体方法已添加到此先前定义的抽象类中。(出于向后兼容性考虑,它不能是抽象的。)提供程序可以重写此方法以初始化密钥对生成器。预期这样的重写会在参数不适用于此密钥对生成器时抛出InvalidAlgorithmParameterException。如果未重写此方法,则始终会抛出UnsupportedOperationException

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

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