模块  java.base

Interface DSAKeyPairGenerator


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

    initialize方法可以被调用任意次数。 如果在DSAKeyPairGenerator上没有initialize方法,则实现此接口的每个提供程序都应提供(并记录)默认初始化。 请注意,默认值可能因不同的提供商而异。 此外,提供程序的默认值可能会在将来的版本中更改。 因此,建议显式初始化DSAKeyPairGenerator,而不是依赖于特定于提供程序的默认值。

    希望指示DSA特定参数并且通常生成适合与DSA算法一起使用的密钥对的用户

    1. 通过调用KeyPairGenerator getInstance方法并以“DSA”作为参数,获取DSA算法的密钥对生成器。
    2. 在将结果转换为DSAKeyPairGenerator并从此DSAKeyPairGenerator接口调用其中一个initialize方法之前,请检查返回的密钥对生成器是否为DSAKeyPairGenerator的实例。
    3. 通过调用KeyPairGenerator类的generateKeyPair方法生成密钥对。

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

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

    从以下版本开始:
    1.1
    另请参见:
    KeyPairGenerator
    • 方法摘要

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      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 - 用于生成密钥位的随机位源; 可以为null。
        异常
        InvalidParameterException - 如果 params值无效,为null或不受支持。
      • initialize

        void initialize​(int modlen,
                        boolean genParams,
                        SecureRandom random)
                 throws InvalidParameterException
        为给定的模数长度(而不是参数)初始化密钥对生成器,以及可选的SecureRandom位源。 如果需要SecureRandom位源但未提供,即null,则将使用默认的SecureRandom实例。

        如果genParams为true,则此方法生成新的p,q和g参数。 如果为false,则该方法使用预先计算的参数作为所请求的模数长度。 如果该模数长度没有预先计算的参数,则抛出异常。

        参数
        modlen - 模数长度(以位为单位)。 有效值是512到1024之间的任意倍数,包括端点,2048和3072。
        random - 用于生成密钥位的随机位源; 可以为null。
        genParams - 是否为所请求的模数长度生成新参数。
        异常
        InvalidParameterException - 如果 modlen无效或不受支持,或者 genParams为false且没有预先计算的参数用于请求的模数长度。