public interface DSAKeyPairGenerator
能够生成 DSA 密钥对的对象的接口。
可以对每个 initialize
方法调用任意多次。如果没有对 DSAKeyPairGenerator 调用 initialize
方法,则默认使用预计算的 p、q、g 参数并使用 SecureRandom 的某个实例作为随机位源,生成一个 1024 位的密钥。
希望指示特定于 DSA 参数的用户,以及希望生成适合于 DSA 算法使用的密钥对的用户通常可以进行以下操作:
getInstance
方法并将 "DSA" 作为其参数,获取 DSA 算法的密钥对生成器。
initialize
方法之一,初始化该生成器。
generateKeyPair
方法生成一个密钥对。 注:并非总是需要对 DSA 密钥对生成器执行特定于算法的初始化。也就是说,并非总是需要调用此接口中的 initialize
方法。接受特定于算法的参数的默认值时,只需要使用 KeyPairGenerator 接口 initialize
方法的与算法无关的初始化。
KeyPairGenerator
方法摘要 | |
---|---|
void |
initialize(DSAParams params, SecureRandom random) 使用 DSA 系列参数(p、q 和 g)和可选 SecureRandom 位源初始化密钥对生成器。 |
void |
initialize(int modlen, boolean genParams, SecureRandom random) 使用给定系数长度(而不是参数)和可选 SecureRandom 位源初始化密钥对生成器。 |
方法详细信息 |
---|
void initialize(DSAParams params, SecureRandom random) throws InvalidParameterException
params
- 用于生成密钥的参数。
random
- 用于生成密钥位的随机位源;可以为 null。
InvalidParameterException
- 如果
params
值无效或为 null。
void initialize(int modlen, boolean genParams, SecureRandom random) throws InvalidParameterException
如果 genParams
为 true,则此方法生成新的 p、q 和 g 参数。如果为 false,则该方法使用对应于所请求系数长度的预计算参数。如果不存在对应于该系数长度的预计算参数,则将抛出一个异常。确保总是存在系数长度为 512 和 1024 位的对应默认参数。
modlen
- 以位为单位的系数长度。有效值在 512 到 1024(包括两者)之间,且是 8 的倍数。
random
- 用于生成密钥位的随机位源;可以为 null。
genParams
- 是否生成对应所请求系数长度的新参数。
InvalidParameterException
- 如果
modlen
不在 512 到 1024 之间,或者
genParams
为 false,并且不存在对应所请求系数长度的预计算参数。