模块  java.base
软件包  java.security

Class KeyPairGeneratorSpi

  • 已知直接子类:
    KeyPairGenerator

    public abstract class KeyPairGeneratorSpi
    extends Object

    此类定义KeyPairGenerator类的 ( SPI ),该类用于生成公钥和私钥对。

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

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

    从以下版本开始:
    1.2
    另请参见:
    KeyPairGeneratorAlgorithmParameterSpec
    • 构造方法详细信息

      • 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