Class KeyRep
- 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
Modifier and Type | Class | Description |
---|---|---|
static class | KeyRep.Type | Key type. |
Constructor Summary
Constructor | Description |
---|---|
KeyRep(KeyRep.Type type,
String algorithm,
String format,
byte[] encoded) | Construct the alternate Key class. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
protected Object | readResolve() | Resolve the Key object. |
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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.PRIVATE -
algorithm
- 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