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.
Nested Class Summary
enum | KeyRep.Type | Key type. |
Public Constructor Summary
KeyRep(KeyRep.Type type, String algorithm, String format, byte[] encoded)
Construct the alternate Key class.
|
Protected Method Summary
Object |
readResolve()
Resolve the Key object.
|
Inherited Method Summary
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 |
---|