public interface DSAKeyPairGenerator
用于生成DSA密钥对的对象的接口。
initialize
方法可以被调用任意次数。如果在DSAKeyPairGenerator上没有调用initialize
方法,则实现此接口的每个提供程序应提供(并记录)默认初始化。请注意,默认值可能会因不同提供程序而异。此外,提供程序的默认值可能会在将来的版本中更改。因此,建议显式初始化DSAKeyPairGenerator,而不是依赖于特定于提供程序的默认值。
希望指定DSA特定参数并生成适用于DSA算法的密钥对的用户通常应:
- 通过调用KeyPairGenerator的
getInstance
方法并将"DSA"作为参数来获取DSA算法的密钥对生成器。 - 在将结果强制转换为DSAKeyPairGenerator并从此DSAKeyPairGenerator接口调用
initialize
方法之前,检查返回的密钥对生成器是否是DSAKeyPairGenerator的实例。 - 通过调用KeyPairGenerator类的
generateKeyPair
方法生成密钥对。
注意:并非总是需要为DSA密钥对生成器执行特定于算法的初始化。也就是说,并非总是需要在此接口中调用initialize
方法。当您接受算法特定参数的默认值时,只需使用KeyPairGenerator接口中的initialize
方法即可。
注意:此接口的一些早期实现可能不支持更大的DSA参数值,例如3072位。
- 自:
- 1.1
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
initialize
(int modlen, boolean genParams, SecureRandom random) 为给定的模数长度(而不是参数)和可选的SecureRandom位源初始化密钥对生成器。void
initialize
(DSAParams params, SecureRandom random) 使用DSA家族参数(p、q和g)和可选的SecureRandom位源初始化密钥对生成器。
-
Method Details
-
initialize
使用DSA家族参数(p、q和g)和可选的SecureRandom位源初始化密钥对生成器。如果需要但未提供SecureRandom位源,即null,将使用默认的SecureRandom实例。- 参数:
-
params
- 用于生成密钥的参数。 -
random
- 用于生成密钥位的随机位源;可以为null。 - 抛出:
-
InvalidParameterException
- 如果params
值无效、为null或不受支持。
-
initialize
为给定的模数长度(而不是参数)和可选的SecureRandom位源初始化密钥对生成器。如果需要但未提供SecureRandom位源,即null,将使用默认的SecureRandom实例。如果
genParams
为true,则此方法生成新的p、q和g参数。如果为false,则该方法使用请求的模数长度的预计算参数。如果没有该模数长度的预计算参数,将抛出异常。- 参数:
-
modlen
- 位数的模数长度。有效值为512到1024之间的64的任意倍数(包括512和1024)、2048和3072。 -
genParams
- 是否为请求的模数长度生成新参数。 -
random
- 用于生成密钥位的随机位源;可以为null。 - 抛出:
-
InvalidParameterException
- 如果modlen
无效、不受支持,或者如果genParams
为false且没有请求的模数长度的预计算参数。
-