javax.crypto.spec

Class OAEPParameterSpec

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


    public class OAEPParameterSpec
    extends java.lang.Object
    implements java.security.spec.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 Summary

      Fields 
      Modifier and Type Field and Description
      static OAEPParameterSpec DEFAULT
      The OAEP parameter set with all default values.
    • Constructor Summary

      Constructors 
      Constructor and Description
      OAEPParameterSpec(java.lang.String mdName, java.lang.String mgfName, java.security.spec.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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getDigestAlgorithm()
      Returns the message digest algorithm name.
      java.lang.String getMGFAlgorithm()
      Returns the mask generation function algorithm name.
      java.security.spec.AlgorithmParameterSpec getMGFParameters()
      Returns the parameters for the mask generation function.
      PSource getPSource()
      Returns the source of encoding input P.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT

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

      • OAEPParameterSpec

        public OAEPParameterSpec(java.lang.String mdName,
                                 java.lang.String mgfName,
                                 java.security.spec.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:
        java.lang.NullPointerException - if mdName, mgfName, or pSrc is null.
    • Method Detail

      • getDigestAlgorithm

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

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

        public java.security.spec.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.

© Portions Copyright 2003, 2023 IBM Corporation. All rights reserved.
© Portions Copyright 2003, 2023 Oracle and/or its affiliates. All rights reserved.