Module java.base

Class OAEPParameterSpec

java.lang.Object
javax.crypto.spec.OAEPParameterSpec
All Implemented Interfaces:
AlgorithmParameterSpec

public class OAEPParameterSpec
extends Object
implements AlgorithmParameterSpec
This class specifies the set of parameters used with OAEP Padding, as defined in the PKCS#1 v2.2 standard. Its ASN.1 definition in PKCS#1 standard is described below:
 RSAES-OAEP-params ::= SEQUENCE {
   hashAlgorithm      [0] HashAlgorithm     DEFAULT sha1,
   maskGenAlgorithm   [1] MaskGenAlgorithm  DEFAULT mgf1SHA1,
   pSourceAlgorithm   [2] PSourceAlgorithm  DEFAULT pSpecifiedEmpty
 }
 
where
 HashAlgorithm ::= AlgorithmIdentifier {
   {OAEP-PSSDigestAlgorithms}
 }
 MaskGenAlgorithm ::= AlgorithmIdentifier { {PKCS1MGFAlgorithms} }
 PSourceAlgorithm ::= AlgorithmIdentifier {
   {PKCS1PSourceAlgorithms}
 }

 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 --
 }
 PKCS1PSourceAlgorithms    ALGORITHM-IDENTIFIER ::= {
   { OID id-pSpecified PARAMETERS EncodingParameters },
   ...  -- Allows for future expansion --
 }
 EncodingParameters ::= OCTET STRING(SIZE(0..MAX))
 

Note: the OAEPParameterSpec.DEFAULT uses the following:

     message digest  -- "SHA-1"
     mask generation function (mgf) -- "MGF1"
     parameters for mgf -- MGF1ParameterSpec.SHA1
     source of encoding input -- PSource.PSpecified.DEFAULT
 

Since:
1.5
See Also:
MGF1ParameterSpec, PSource
  • Field Details

    • DEFAULT

      public static final OAEPParameterSpec DEFAULT
      The OAEP parameter set with all default values.
  • Constructor Details

    • OAEPParameterSpec

      public OAEPParameterSpec​(String mdName, String mgfName, AlgorithmParameterSpec mgfSpec, PSource pSrc)
      Constructs a parameter set for OAEP padding as defined in the PKCS #1 standard using the specified message digest algorithm mdName, mask generation function algorithm mgfName, parameters for the mask generation function mgfSpec, and source of the encoding input P pSrc.
      Parameters:
      mdName - the algorithm name for the message digest.
      mgfName - the algorithm name for the mask generation function.
      mgfSpec - the parameters for the mask generation function. If null is specified, null will be returned by getMGFParameters().
      pSrc - the source of the encoding input P.
      Throws:
      NullPointerException - if mdName, mgfName, or pSrc is null.
  • Method Details

    • getDigestAlgorithm

      public String getDigestAlgorithm()
      Returns the message digest algorithm name.
      Returns:
      the message digest algorithm name.
    • getMGFAlgorithm

      public String getMGFAlgorithm()
      Returns the mask generation function algorithm name.
      Returns:
      the mask generation function algorithm name.
    • getMGFParameters

      public AlgorithmParameterSpec getMGFParameters()
      Returns the parameters for the mask generation function.
      Returns:
      the parameters for the mask generation function.
    • getPSource

      public PSource getPSource()
      Returns the source of encoding input P.
      Returns:
      the source of encoding input P.