public abstract class EncodedKeySpec
extends Object implements KeySpec



This class represents a public or private key in encoded format.

Summary

Public constructors

EncodedKeySpec(byte[] encodedKey)

Creates a new EncodedKeySpec with the given encoded key.

Protected constructors

EncodedKeySpec(byte[] encodedKey, String algorithm)

Creates a new EncodedKeySpec with the given encoded key.

Public methods

String getAlgorithm()

Returns the name of the algorithm of the encoded key.

byte[] getEncoded()

Returns the encoded key.

abstract String getFormat()

Returns the name of the encoding format associated with this key specification.

Inherited methods

From class java.lang.Object

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

EncodedKeySpec

public EncodedKeySpec (byte[] encodedKey)

Creates a new EncodedKeySpec with the given encoded key.

Parameters
encodedKey byte: the encoded key. The contents of the array are copied to protect against subsequent modification.
Throws
NullPointerException if encodedKey is null.

Protected constructors

EncodedKeySpec

protected EncodedKeySpec (byte[] encodedKey, 
                String algorithm)

Creates a new EncodedKeySpec with the given encoded key. This constructor is useful when subsequent callers of the EncodedKeySpec object might not know the algorithm of the key.

Parameters
encodedKey byte: the encoded key. The contents of the array are copied to protect against subsequent modification.
algorithm String: the algorithm name of the encoded key See the KeyFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names.
Throws
IllegalArgumentException if algorithm is the empty string ""
NullPointerException if encodedKey or algorithm is null.

Public methods

getAlgorithm

public String getAlgorithm ()

Returns the name of the algorithm of the encoded key.

Returns
String the name of the algorithm, or null if not specified

getEncoded

public byte[] getEncoded ()

Returns the encoded key.

Returns
byte[] the encoded key. Returns a new array each time this method is called.

getFormat

public abstract String getFormat ()

Returns the name of the encoding format associated with this key specification.

If the opaque representation of a key (see Key) can be transformed (see KeyFactory) into this key specification (or a subclass of it), getFormat called on the opaque key returns the same value as the getFormat method of this key specification.

Returns
String a string representation of the encoding format.

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2026-02-13 UTC.