模块 java.base

接口 DSAKeyPairGenerator


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

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

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

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

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

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

自从:
1.1
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    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)
      使用 DSA 系列参数(p、q 和 g)和可选的 SecureRandom 位源初始化密钥对生成器。如果需要但未提供 SecureRandom 位源,即为空,则将使用默认的 SecureRandom 实例。
      参数:
      params - 用于生成密钥的参数。
      random - 用于生成密钥位的随机位源;可以为空。
      抛出:
      InvalidParameterException - 如果 params 值无效、为空或不受支持。
    • initialize

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

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

      参数:
      modlen - 以位为单位的模数长度。有效值为 512 和 1024 之间的 64 的任意倍数,包括 2048 和 3072。
      genParams - 是否为请求的模数长度生成新参数。
      random - 用于生成密钥位的随机位源;可以为空。
      抛出:
      InvalidParameterException - 如果 modlen 无效或不受支持,或者如果 genParams 为假并且请求的模数长度没有预先计算的参数。