Java™ Platform
Standard Ed. 8
compact1, compact2, compact3
javax.crypto.spec

Class 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 Detail

      • DEFAULT

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

      • 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 Detail

      • 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.
Java™ Platform
Standard Ed. 8

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部