Package java.security

Class KeyRep

java.lang.Object
java.security.KeyRep
All Implemented Interfaces:
Serializable

public class KeyRep
extends Object
implements Serializable
KeyRep is a standardized representation for serialized Key objects.
See Also:
Serialized Form
  • Constructor Details

    • KeyRep

      public KeyRep​(KeyRep.Type type, String algorithm, String format, byte[] encoded)
      Constructs a new instance of KeyRep with the specified arguments. The arguments should be obtained from the Key object that has to be serialized.
      Parameters:
      type - the type of the key.
      algorithm - the algorithm (obtained by Key.getAlgorithm()).
      format - the format of the key (obtained by Key.getFormat()).
      encoded - the encoded byte[] (obtained by Key.getEncoded()).
      Throws:
      NullPointerException - if type, algorithm, format or encoded is null .
  • Method Details

    • readResolve

      protected Object readResolve() throws ObjectStreamException
      Resolves and returns the Key object. Three KeyRep.Type|format combinations are supported:
      • Type.PRIVATE | "PKCS#8" : returns a PrivateKey instance, generated from a key factory (suitable for the algorithm) that is initialized with a PKCS8EncodedKeySpec using the encoded key bytes.
      • Type.SECRET | "RAW" : returns a SecretKeySpec instance, created with the encoded key bytes and the algorithm.
      • Type.PUBLIC | "X.509": returns a PublicKey instance, generated from a key factory (suitable for the algorithm) that is initialized with a X509EncodedKeySpec using the encoded key bytes.
      Returns:
      the resolved Key object.
      Throws:
      ObjectStreamException - if the Type|format combination is not recognized, or the resolution of any key parameter fails.