模块 java.base

类 PSSParameterSpec

java.lang.Object
java.security.spec.PSSParameterSpec
所有已实现的接口:
AlgorithmParameterSpec

public class PSSParameterSpec extends Object implements AlgorithmParameterSpec
此类指定 RSASSA-PSS 签名方案的参数规范,如 PKCS#1 v2.2 标准中所定义。

它在 PKCS #1 标准中的 ASN.1 定义描述如下:

 RSASSA-PSS-params ::= SEQUENCE {
  hashAlgorithm   [0] HashAlgorithm   DEFAULT sha1,
  maskGenAlgorithm  [1] MaskGenAlgorithm  DEFAULT mgf1SHA1,
  saltLength     [2] INTEGER      DEFAULT 20,
  trailerField    [3] TrailerField    DEFAULT trailerFieldBC(1)
 }
 
其中
 HashAlgorithm ::= AlgorithmIdentifier {
  {OAEP-PSSDigestAlgorithms}
 }
 MaskGenAlgorithm ::= AlgorithmIdentifier { {PKCS1MGFAlgorithms} }
 TrailerField ::= INTEGER { trailerFieldBC(1) }

 OAEP-PSSDigestAlgorithms  ALGORITHM-IDENTIFIER ::= {
  { OID id-sha1    PARAMETERS NULL }|
  { OID id-sha224   PARAMETERS NULL }|
  { OID id-sha256   PARAMETERS NULL }|
  { OID id-sha384   PARAMETERS NULL }|
  { OID id-sha512   PARAMETERS NULL }|
  { OID id-sha512-224 PARAMETERS NULL }|
  { OID id-sha512-256 PARAMETERS NULL },
  ... -- Allows for future expansion --
 }
 PKCS1MGFAlgorithms  ALGORITHM-IDENTIFIER ::= {
  { OID id-mgf1 PARAMETERS HashAlgorithm },
  ... -- Allows for future expansion --
 }
 
自从:
1.4
参见:
  • 字段详细信息

    • TRAILER_FIELD_BC

      public static final int TRAILER_FIELD_BC
      PKCS #1 标准中定义的 TrailerFieldBC 常量。
      自从:
      11
      参见:
    • DEFAULT

      @Deprecated (since ="19") public static final PSSParameterSpec  DEFAULT
      已弃用。
      该字段使用 PKCS #1 标准中定义的默认值。由于密码分析的进步,不再推荐其中一些默认值——有关更多详细信息,请参阅 PKCS#1 v2.2 标准。因此,建议使用 PSSParameterSpec(String, String, AlgorithmParameterSpec, int, int) 构造函数创建一个具有所需参数值的新 PSSParameterSpec
      PSS 参数设置为所有默认值。
      自从:
      1.5
  • 构造方法详细信息

    • PSSParameterSpec

      public PSSParameterSpec(String  mdName, String  mgfName, AlgorithmParameterSpec  mgfSpec, int saltLen, int trailerField)
      使用指定的消息摘要、掩码生成函数、掩码生成函数的参数、盐长度和尾部字段值创建 PKCS #1 标准中定义的新 PSSParameterSpec
      参数:
      mdName - 哈希函数的算法名称
      mgfName - 掩码生成函数的算法名称
      mgfSpec - 掩码生成函数的参数。如果指定了 null,则 getMGFParameters() 将返回 null。
      saltLen - salt 的字节长度
      trailerField - 尾部字段的值
      抛出:
      NullPointerException - 如果 mdNamemgfName 为空
      IllegalArgumentException - 如果 saltLentrailerField 小于 0
      自从:
      1.5
    • PSSParameterSpec

      @Deprecated (since ="19") public PSSParameterSpec(int saltLen)
      已弃用。
      此构造函数使用 PKCS #1 标准中定义的默认值,盐长度除外。由于密码分析的进步,不再推荐其中一些默认值——有关更多详细信息,请参阅 PKCS#1 v2.2 标准。因此,建议使用 PSSParameterSpec(String, String, AlgorithmParameterSpec, int, int) 构造函数显式指定所有需要的参数值。
      使用指定的盐长度和 PKCS #1 标准中定义的其他默认值创建新的 PSSParameterSpec
      参数:
      saltLen - salt 的字节长度
      抛出:
      IllegalArgumentException - 如果 saltLen 小于 0
  • 方法详情

    • getDigestAlgorithm

      public String  getDigestAlgorithm()
      返回消息摘要算法名称。
      返回:
      消息摘要算法名称
      自从:
      1.5
    • getMGFAlgorithm

      public String  getMGFAlgorithm()
      返回掩码生成函数算法名称。
      返回:
      掩码生成函数算法名称
      自从:
      1.5
    • getMGFParameters

      public AlgorithmParameterSpec  getMGFParameters()
      返回掩码生成函数的参数。
      返回:
      掩码生成函数的参数
      自从:
      1.5
    • getSaltLength

      public int getSaltLength()
      返回以字节为单位的盐长度。
      返回:
      盐长度
    • getTrailerField

      public int getTrailerField()
      返回尾部字段的值。
      返回:
      尾部字段的值
      自从:
      1.5