Module java.base

Class X509EncodedKeySpec

  • All Implemented Interfaces:
    KeySpec

    public class X509EncodedKeySpec
    extends EncodedKeySpec
    This class represents the ASN.1 encoding of a public key, encoded according to the ASN.1 type SubjectPublicKeyInfo. The SubjectPublicKeyInfo syntax is defined in the X.509 standard as follows:
     SubjectPublicKeyInfo ::= SEQUENCE {
       algorithm AlgorithmIdentifier,
       subjectPublicKey BIT STRING }
     
    Since:
    1.2
    See Also:
    Key, KeyFactory, KeySpec, EncodedKeySpec, PKCS8EncodedKeySpec
    • Constructor Detail

      • X509EncodedKeySpec

        public X509EncodedKeySpec​(byte[] encodedKey)
        Creates a new X509EncodedKeySpec with the given encoded key.
        Parameters:
        encodedKey - the key, which is assumed to be encoded according to the X.509 standard. The contents of the array are copied to protect against subsequent modification.
        Throws:
        NullPointerException - if encodedKey is null.
      • X509EncodedKeySpec

        public X509EncodedKeySpec​(byte[] encodedKey,
                                  String algorithm)
        Creates a new X509EncodedKeySpec with the given encoded key. This constructor is useful when subsequent callers of the X509EncodedKeySpec object might not know the algorithm of the key.
        Parameters:
        encodedKey - the key, which is assumed to be encoded according to the X.509 standard. The contents of the array are copied to protect against subsequent modification.
        algorithm - the algorithm name of the encoded public key See the KeyFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.
        Throws:
        NullPointerException - if encodedKey or algorithm is null.
        IllegalArgumentException - if algorithm is the empty string ""
        Since:
        9
    • Method Detail

      • getEncoded

        public byte[] getEncoded()
        Returns the key bytes, encoded according to the X.509 standard.
        Overrides:
        getEncoded in class EncodedKeySpec
        Returns:
        the X.509 encoding of the key. Returns a new array each time this method is called.
      • getFormat

        public final String getFormat()
        Returns the name of the encoding format associated with this key specification.
        Specified by:
        getFormat in class EncodedKeySpec
        Returns:
        the string "X.509".