-
public interface DSAKeyPairGenerator
与能够生成DSA密钥对的对象的接口。initialize
方法可以分别被称为任意次数。 如果在DSAKeyPairGenerator上没有initialize
方法,则默认使用预先计算的p,q和g参数以及SecureRandom的实例作为随机位源来生成1024位密钥。用户希望指定特定于DSA的参数,并生成适用于DSA算法的密钥对
- 通过调用具有“DSA”作为参数的KeyPairGenerator
getInstance
方法,获取DSA算法的密钥对生成器。 - 通过将结果转换为DSAKeyPairGenerator并从该DSAKeyPairGenerator接口调用
initialize
方法之一来初始化生成器。 - 通过从KeyPairGenerator类调用
generateKeyPair
方法生成密钥对。
注意:并不总是需要为DSA密钥对生成器执行特定于算法的初始化。 也就是说,在此界面中并不总是需要调用
initialize
方法。 当您接受特定于算法的参数的默认值时,使用KeyPairGenerator接口中的initialize
方法进行无算法独立初始化。注意:此接口的一些早期实现可能不支持较大尺寸的DSA参数,例如2048和3072位。
- 从以下版本开始:
- 1.1
- 另请参见:
-
KeyPairGenerator
- 通过调用具有“DSA”作为参数的KeyPairGenerator
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
initialize(int modlen, boolean genParams, SecureRandom random)
为给定的模数长度(而不是参数)初始化密钥对生成器以及可选的SecureRandom位源。void
initialize(DSAParams params, SecureRandom random)
使用DSA系列参数(p,q和g)和可选的SecureRandom位源初始化密钥对生成器。
-
-
-
方法详细信息
-
initialize
void initialize(DSAParams params, SecureRandom random) throws InvalidParameterException
使用DSA系列参数(p,q和g)和可选的SecureRandom位源初始化密钥对生成器。 如果需要SecureRandom位源,但不提供,即为null,则将使用默认的SecureRandom实例。- 参数
-
params
- 用于生成密钥的参数。 -
random
- 用于生成密钥位的随机位源; 可以为空。 - 异常
-
InvalidParameterException
- 如果params
值无效,为空或不受支持。
-
initialize
void initialize(int modlen, boolean genParams, SecureRandom random) throws InvalidParameterException
为给定的模数长度(而不是参数)初始化密钥对生成器以及可选的SecureRandom位源。 如果需要SecureRandom位源,但不提供,即为null,则将使用默认的SecureRandom实例。如果
genParams
为真,则该方法生成新的p,q和g参数。 如果为假,则该方法使用预计算参数作为所要求的模数长度。 如果该模数长度没有预先计算的参数,将抛出异常。 保证模数长度为512和1024位的默认参数始终保持不变。- 参数
-
modlen
- 模数长度(以位为单位)。 有效值是512到1024之间,包括2048和3072之间的64的任何倍数。 -
random
- 用于生成密钥位的随机位源; 可以为空。 -
genParams
- 是否为所要求的模数长度生成新参数。 - 异常
-
InvalidParameterException
- 如果modlen
无效或不受支持,或者如果genParams
为假,并且所请求的模数长度没有预先计算的参数。
-
-