lightbulb_outline Please take our October 2018 developer survey. Start survey

KeyRep

public class KeyRep
extends Object implements Serializable

java.lang.Object
   ↳ java.security.KeyRep


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.

Inherited methods

Public constructors

KeyRep

added in API level 1
public KeyRep (KeyRep.Type type, 
                String algorithm, 
                String format, 
                byte[] encoded)

Construct the alternate Key class.

Parameters
type KeyRep.Type: either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE

algorithm String: the algorithm returned from Key.getAlgorithm()

format String: the encoding format returned from Key.getFormat()

encoded byte: 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

readResolve

added in API level 1
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
Object 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