W3cubDocs

/OpenJDK 8

Class KeyRep

All Implemented Interfaces:
Serializable
public class KeyRep
extends Object
implements Serializable

Standardized representation for serialized Key objects.

Note that a serialized Key may contain sensitive information which should not be exposed in untrusted environments. See the Security Appendix of the Serialization Specification for more information.

Since:
1.5
See Also:
Key, KeyFactory, SecretKeySpec, X509EncodedKeySpec, PKCS8EncodedKeySpec, Serialized Form

Nested Classes

Nested Classes
Modifier and Type Class and Description
static class  KeyRep.Type

Key type.

Constructors

KeyRep

public KeyRep(KeyRep.Type type,
              String algorithm,
              String format,
              byte[] encoded)

Construct the alternate Key class.

Parameters:
type - either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE
algorithm - the algorithm returned from Key.getAlgorithm()
format - the encoding format returned from Key.getFormat()
encoded - the encoded bytes returned from Key.getEncoded()
Throws:
NullPointerException - if type is null, if algorithm is null, if format is null, or if encoded is null

Methods

readResolve

protected Object readResolve()
                      throws ObjectStreamException

Resolve the Key object.

This method supports three Type/format combinations:

  • Type.SECRET/"RAW" - returns a SecretKeySpec object constructed using encoded key bytes and algorithm
  • Type.PUBLIC/"X.509" - gets a KeyFactory instance for the key algorithm, constructs an X509EncodedKeySpec with the encoded key bytes, and generates a public key from the spec
  • Type.PRIVATE/"PKCS#8" - gets a KeyFactory instance for the key algorithm, constructs a PKCS8EncodedKeySpec with the encoded key bytes, and generates a private key from the spec
Returns:
the resolved Key object
Throws:
ObjectStreamException - if the Type/format combination is unrecognized, if the algorithm, key format, or encoded key bytes are unrecognized/invalid, of if the resolution of the key fails for any reason

© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.