Added in API level 1

java.security.spec

Provides classes and interfaces for key specifications and algorithm parameter specifications.

A key specification is a transparent representation of the key material that constitutes a key. A key may be specified in an algorithm-specific way, or in an algorithm-independent encoding format (such as ASN.1). This package contains key specifications for DSA public and private keys, RSA public and private keys, PKCS #8 private keys in DER-encoded format, and X.509 public and private keys in DER-encoded format.

An algorithm parameter specification is a transparent representation of the sets of parameters used with an algorithm. This package contains an algorithm parameter specification for parameters used with the DSA algorithm.

Package Specification

  • PKCS #1: RSA Encryption Standard, Version 1.5, November 1993
  • PKCS #8: Private-Key Information Syntax Standard, Version 1.2, November 1993
  • Federal Information Processing Standards Publication (FIPS PUB) 186: Digital Signature Standard (DSS)
For documentation that includes information about algorithm parameter and key specifications, please see:

Interfaces

AlgorithmParameterSpec A (transparent) specification of cryptographic parameters. 
ECField This interface represents an elliptic curve (EC) finite field. 
KeySpec A (transparent) specification of the key material that constitutes a cryptographic key. 

Classes

DSAGenParameterSpec This immutable class specifies the set of parameters used for generating DSA parameters as specified in FIPS 186-3 Digital Signature Standard (DSS)
DSAParameterSpec This class specifies the set of parameters used with the DSA algorithm. 
DSAPrivateKeySpec This class specifies a DSA private key with its associated parameters. 
DSAPublicKeySpec This class specifies a DSA public key with its associated parameters. 
ECFieldF2m This immutable class defines an elliptic curve (EC) characteristic 2 finite field. 
ECFieldFp This immutable class defines an elliptic curve (EC) prime finite field. 
ECGenParameterSpec This immutable class specifies the set of parameters used for generating elliptic curve (EC) domain parameters. 
ECParameterSpec This immutable class specifies the set of domain parameters used with elliptic curve cryptography (ECC). 
ECPoint This immutable class represents a point on an elliptic curve (EC) in affine coordinates. 
ECPrivateKeySpec This immutable class specifies an elliptic curve private key with its associated parameters. 
ECPublicKeySpec This immutable class specifies an elliptic curve public key with its associated parameters. 
EdDSAParameterSpec A class used to specify EdDSA signature and verification parameters. 
EdECPoint An elliptic curve point used to specify keys as defined by RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA)
EdECPrivateKeySpec A class representing elliptic curve private keys as defined in RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA), including the curve and other algorithm parameters. 
EdECPublicKeySpec A class representing elliptic curve public keys as defined in RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA), including the curve and other algorithm parameters. 
EllipticCurve This immutable class holds the necessary values needed to represent an elliptic curve. 
EncodedKeySpec This class represents a public or private key in encoded format. 
MGF1ParameterSpec This class specifies the set of parameters used with mask generation function MGF1 in OAEP Padding and RSASSA-PSS signature scheme, as defined in the PKCS#1 v2.2 standard. 
NamedParameterSpec This class is used to specify any algorithm parameters that are determined by a standard name. 
PKCS8EncodedKeySpec This class represents the ASN.1 encoding of a private key, encoded according to the ASN.1 type PrivateKeyInfo
PSSParameterSpec This class specifies a parameter spec for RSA-PSS signature scheme, as defined in the PKCS#1 v2.1 standard. 
RSAKeyGenParameterSpec This class specifies the set of parameters used to generate an RSA key pair. 
RSAMultiPrimePrivateCrtKeySpec This class specifies an RSA multi-prime private key, as defined in the PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information values for efficiency. 
RSAOtherPrimeInfo This class represents the triplet (prime, exponent, and coefficient) inside RSA's OtherPrimeInfo structure, as defined in the PKCS#1 v2.1. 
RSAPrivateCrtKeySpec This class specifies an RSA private key, as defined in the PKCS#1 standard, using the Chinese Remainder Theorem (CRT) information values for efficiency. 
RSAPrivateKeySpec This class specifies an RSA private key. 
RSAPublicKeySpec This class specifies an RSA public key. 
X509EncodedKeySpec This class represents the ASN.1 encoding of a public key, encoded according to the ASN.1 type SubjectPublicKeyInfo
XECPrivateKeySpec A class representing elliptic curve private keys as defined in RFC 7748, including the curve and other algorithm parameters. 
XECPublicKeySpec A class representing elliptic curve public keys as defined in RFC 7748, including the curve and other algorithm parameters. 

Exceptions

InvalidKeySpecException This is the exception for invalid key specifications. 
InvalidParameterSpecException This is the exception for invalid parameter specifications.