JavaTM 2 Platform
Standard Ed. 5.0

java.security.interfaces
接口 DSAKeyPairGenerator


public interface DSAKeyPairGenerator

能够生成 DSA 密钥对的对象的接口。

可以对每个 initialize 方法调用任意多次。如果没有对 DSAKeyPairGenerator 调用 initialize 方法,则默认使用预先计算好的 p、q、g 参数和 SecureRandom 的某个实例作为随机位源,生成一个 1024 位的密钥。

希望指示特定于 DSA 的参数以及希望生成适合于 DSA 算法使用的密钥对的用户通常可以采用以下操作:

  1. 通过调用 KeyPairGenerator getInstance 方法并将 "DSA" 作为其参数,获取 DSA 算法的密钥对生成器。

  2. 通过将结果强制转换为 DSAKeyPairGenerator,并从此 DSAKeyPairGenerator 接口调用 initialize 方法之一,从而初始化该生成器。

  3. 通过从 KeyPairGenerator 类调用 generateKeyPair 方法生成一个密钥对。

注:并不是始终必须针对 DSA 密钥对生成器进行特定于算法的初始化。也就是说,在此接口中不是始终必须调用 initialize 方法。接受特定于算法的参数的默认值时,只需在 KeyPairGenerator 接口中使用 initialize 方法执行与算法无关的初始化。

另请参见:
KeyPairGenerator

方法摘要
 void initialize(DSAParams params, SecureRandom random)
          使用 p、q 和 g 等 DSA 系列参数初始化密钥对生成器。
 void initialize(int modlen, boolean genParams, SecureRandom random)
          初始化给定系数长度、不带参数的密钥对生成器。
 

方法详细信息

initialize

void initialize(DSAParams params,
                SecureRandom random)
                throws InvalidParameterException
使用 p、q 和 g 等 DSA 系列参数初始化密钥对生成器。

参数:
params - 用于生成密钥的参数。
random - 用于生成密钥位的随机位源。
抛出:
InvalidParameterException - 如果传递的参数无效或为 null。

initialize

void initialize(int modlen,
                boolean genParams,
                SecureRandom random)
                throws InvalidParameterException
初始化给定系数长度、不带参数的密钥对生成器。

如果 genParams 为 true,则此方法将生成新的 p、q 和 g 参数。如果为 false,此方法将针对请求的系数长度使用预计算的参数。如果不存在针对该系数长度的预计算参数,将抛出一个异常。应确保终存在系数长度为 512 和 1024 位的对应默认参数。

参数:
modlen - 以位为单位的系数长度。有效值位于 512 到 1024(包括)之间,且是 8 的倍数。
random - 用于生成密钥位的随机位源。
genParams - 是否生成所请求的系数长度的新参数。
抛出:
InvalidParameterException - 如果系数长度不在 512 到 1024 之间,或者如果 genParams 为 false,并且不存在所请求的系数长度的预计算参数。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策