Module  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 - 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