public interface DSAKeyPairGenerator
initialize
方法可以分别被称为任意次数。 如果在initialize
上没有initialize
方法,则默认使用预先计算的p,q和g参数以及SecureRandom的实例作为随机位源来生成1024位密钥。
用户希望指定特定于DSA的参数,并生成适用于DSA算法的密钥对
getInstance
方法,获取DSA算法的密钥对生成器。 initialize
方法之一来初始化生成器。 generateKeyPair
方法生成一个密钥对。 注意:并不总是需要为DSA密钥对生成器执行特定于算法的初始化。 也就是说,在此界面中并不总是需要调用initialize
方法。 在KeyPairGenerator接口中使用initialize
方法进行独立于算法的初始化,只要您接受特定于算法的参数的默认值即可。
注意:此接口的一些早期实现可能不支持较大尺寸的DSA参数,例如2048和3072位。
KeyPairGenerator
Modifier and Type | Method and Description |
---|---|
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
- 用于生成密钥位的随机位源;
可以为空。
InvalidParameterException
- 如果
params
值无效,为null或不受支持。
void initialize(int modlen, boolean genParams, SecureRandom random) throws InvalidParameterException
如果genParams
为真,则该方法生成新的p,q和g参数。 如果它是假的,该方法使用预计算参数作为所要求的模数长度。 如果该模数长度没有预先计算的参数,将抛出异常。 保证模数长度为512和1024位的默认参数始终保持不变。
modlen
- 模数长度(以位为单位)。
有效值是512到1024之间,包括2048和3072之间的64的任何倍数。
random
- 用于生成密钥位的随机位源;
可以为空。
genParams
- 是否为所请求的模数长度生成新参数。
InvalidParameterException
- if
modlen
is invalid, or unsupported, or if
genParams
is false and there are no precomputed parameters for the requested modulus length.