diff options
Diffstat (limited to 'libraries/spongycastle/jce/src/main/java/javax/crypto/spec/OAEPParameterSpec.java')
-rw-r--r-- | libraries/spongycastle/jce/src/main/java/javax/crypto/spec/OAEPParameterSpec.java | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/libraries/spongycastle/jce/src/main/java/javax/crypto/spec/OAEPParameterSpec.java b/libraries/spongycastle/jce/src/main/java/javax/crypto/spec/OAEPParameterSpec.java new file mode 100644 index 000000000..ccc5ad86e --- /dev/null +++ b/libraries/spongycastle/jce/src/main/java/javax/crypto/spec/OAEPParameterSpec.java @@ -0,0 +1,103 @@ +package javax.crypto.spec; + +import java.security.spec.AlgorithmParameterSpec; + +/** + * This class specifies the set of parameters used with OAEP Padding, as defined + * in the PKCS #1 standard. Its ASN.1 definition in PKCS#1 standard is described + * below: + * + * </pre> + * + * RSAES-OAEP-params ::= SEQUENCE { hashAlgorithm [0] OAEP-PSSDigestAlgorithms + * DEFAULT sha1, maskGenAlgorithm [1] PKCS1MGFAlgorithms DEFAULT mgf1SHA1, + * pSourceAlgorithm [2] PKCS1PSourceAlgorithms DEFAULT pSpecifiedEmpty } + * + * </pre> + * + * where + * + * <pre> + * + * OAEP-PSSDigestAlgorithms ALGORITHM-IDENTIFIER ::= { { OID id-sha1 PARAMETERS + * NULL }| { OID id-sha256 PARAMETERS NULL }| { OID id-sha384 PARAMETERS NULL } | { + * OID id-sha512 PARAMETERS NULL }, ... -- Allows for future expansion -- } + * PKCS1MGFAlgorithms ALGORITHM-IDENTIFIER ::= { { OID id-mgf1 PARAMETERS + * OAEP-PSSDigestAlgorithms }, ... -- Allows for future expansion -- } + * PKCS1PSourceAlgorithms ALGORITHM-IDENTIFIER ::= { { OID id-pSpecified + * PARAMETERS OCTET STRING }, ... -- Allows for future expansion -- } + * + * </pre> + * + * @see PSource + */ +public class OAEPParameterSpec + implements AlgorithmParameterSpec +{ + private String mdName; + private String mgfName; + private AlgorithmParameterSpec mgfSpec; + private 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. + * + * @param mdName the algorithm name for the message digest. + * @param mgfName the algorithm name for the mask generation function. + * @param mgfSpec the parameters for the mask generation function. If null is + * specified, null will be returned by getMGFParameters(). + * @param pSrc the source of the encoding input P. + * @throws NullPointerException if mdName, mgfName, or pSrc is null. + */ + public OAEPParameterSpec(String mdName, String mgfName, + AlgorithmParameterSpec mgfSpec, PSource pSrc) + { + this.mdName = mdName; + this.mgfName = mgfName; + this.mgfSpec = mgfSpec; + this.pSrc = pSrc; + } + + /** + * Returns the message digest algorithm name. + * + * @return the message digest algorithm name. + */ + public String getDigestAlgorithm() + { + return mdName; + } + + /** + * Returns the mask generation function algorithm name. + * + * @return the mask generation function algorithm name. + */ + public String getMGFAlgorithm() + { + return mgfName; + } + + /** + * Returns the parameters for the mask generation function. + * + * @return the parameters for the mask generation function. + */ + public AlgorithmParameterSpec getMGFParameters() + { + return mgfSpec; + } + + /** + * Returns the source of encoding input P. + * + * @return the source of encoding input P. + */ + public PSource getPSource() + { + return pSrc; + } +} |