public class

KeyRep

extends Object
implements Serializable
java.lang.Object
   ↳ java.security.KeyRep

Class Overview

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.

Summary

Nested Classes
enum KeyRep.Type Key type. 
Public Constructors
KeyRep(KeyRep.Type type, String algorithm, String format, byte[] encoded)
Construct the alternate Key class.
Protected Methods
Object readResolve()
Resolve the Key object.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

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

Protected Methods

protected Object readResolve ()

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