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))
Since:
1.5
External Specifications
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final OAEPParameterSpec
    Deprecated.
    This field uses the default values defined in the PKCS #1 standard.
  • Constructor Summary

    Constructors
    Constructor
    Description
    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.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the message digest algorithm name.
    Returns the mask generation function algorithm name.
    Returns the parameters for the mask generation function.
    Returns the source of encoding input P.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Creates and returns a copy of this object.
    boolean
    Indicates whether some other object is "equal to" this one.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Finalization is deprecated and subject to removal in a future release.
    final Class<?>
    Returns the runtime class of this Object.
    int
    Returns a hash code value for this object.
    final void
    Wakes up a single thread that is waiting on this object's monitor.
    final void
    Wakes up all threads that are waiting on this object's monitor.
    Returns a string representation of the object.
    final void
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
    final void
    wait(long timeoutMillis)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
    final void
    wait(long timeoutMillis, int nanos)
    Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  • Field Details

    • DEFAULT

      @Deprecated(since="19") public static final OAEPParameterSpec DEFAULT
      Deprecated.
      This field uses the default values defined in the PKCS #1 standard. Some of these defaults are no longer recommended due to advances in cryptanalysis -- see Appendix B.1 of PKCS #1 for more details. Thus, it is recommended to create a new OAEPParameterSpec with the desired parameter values using the OAEPParameterSpec(String, String, AlgorithmParameterSpec, PSource) constructor.
      The OAEP parameter set with all default values, i.e. "SHA-1" as message digest algorithm, "MGF1" as mask generation function (mgf) algorithm, MGF1ParameterSpec.SHA1 as parameters for the mask generation function, and PSource.PSpecified.DEFAULT as the source of the encoding input.
  • 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.