- java.lang.Object
-
- java.security.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 Class Summary
Nested Classes Modifier and Type Class Description static class
KeyRep.Type
Key type.
-
Constructor Summary
Constructors Constructor Description KeyRep(KeyRep.Type type, String algorithm, String format, byte[] encoded)
Construct the alternate Key class.
-
-
-
Constructor Detail
-
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.PRIVATEalgorithm
- the algorithm returned fromKey.getAlgorithm()
format
- the encoding format returned fromKey.getFormat()
encoded
- the encoded bytes returned fromKey.getEncoded()
- Throws:
NullPointerException
- if type isnull
, if algorithm isnull
, if format isnull
, or if encoded isnull
-
-
Method Detail
-
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
-
-