Module  java.base

Interface DSAKeyPairGenerator



  • public interface DSAKeyPairGenerator
    与能够生成DSA密钥对的对象的接口。

    initialize方法可以分别被称为任意次数。 如果在DSAKeyPairGenerator上没有initialize方法,则默认使用预先计算的p,q和g参数以及SecureRandom的实例作为随机位源来生成1024位密钥。

    用户希望指定特定于DSA的参数,并生成适用于DSA算法的密钥对

    1. 通过调用具有“DSA”作为参数的KeyPairGenerator getInstance方法,获取DSA算法的密钥对生成器。
    2. 通过将结果转换为DSAKeyPairGenerator并从该DSAKeyPairGenerator接口调用initialize方法之一来初始化生成器。
    3. 通过从KeyPairGenerator类调用generateKeyPair方法生成密钥对。

    注意:并不总是需要为DSA密钥对生成器执行特定于算法的初始化。 也就是说,在此界面中并不总是需要调用initialize方法。 当您接受特定于算法的参数的默认值时,使用KeyPairGenerator接口中的initialize方法进行无算法独立初始化。

    注意:此接口的一些早期实现可能不支持较大尺寸的DSA参数,例如2048和3072位。

    从以下版本开始:
    1.1
    另请参见:
    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为假,并且所请求的模数长度没有预先计算的参数。