java.lang.Object
java.security.KeyPairGeneratorSpi
- 直接已知的子类:
-
KeyPairGenerator
此类定义了用于生成公钥和私钥对的KeyPairGenerator
类的服务提供程序接口(SPI)。
此类中的所有抽象方法必须由每个加密服务提供程序实现,希望为特定算法提供密钥对生成器的实现。
如果客户端没有显式初始化KeyPairGenerator
(通过调用initialize
方法),则每个提供程序必须提供(并记录)默认初始化。有关JDK提供程序使用的KeyPairGenerator默认值,请参阅JDK提供程序文档中的Keysize Restriction部分。但是,请注意,不同提供程序的默认值可能会有所不同。此外,提供程序的默认值可能会在将来的版本中更改。因此,建议显式初始化KeyPairGenerator
,而不是依赖于特定于提供程序的默认值。
- 自 JDK 1.2 起:
- 1.2
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract KeyPair
生成密钥对。abstract void
initialize
(int keysize, SecureRandom random) 使用默认参数集为特定密钥大小初始化密钥对生成器。void
initialize
(AlgorithmParameterSpec params, SecureRandom random) 使用指定的参数集和用户提供的随机源初始化密钥对生成器。
-
Constructor Details
-
KeyPairGeneratorSpi
public KeyPairGeneratorSpi()子类调用的构造函数。
-
-
Method Details
-
initialize
使用默认参数集为特定密钥大小初始化密钥对生成器。- 参数:
-
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
生成密钥对。除非使用KeyPairGenerator接口调用初始化方法,否则将使用特定于算法的默认值。每次调用此方法时都会生成一个新的密钥对。- 返回:
-
新生成的
KeyPair
-