Stay organized with collections
Save and categorize content based on your preferences.
KeyRep
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.
Summary
Inherited methods |
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this object.
|
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
void
|
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
|
final
Class<?>
|
getClass()
Returns the runtime class of this Object .
|
int
|
hashCode()
Returns a hash code value for the object.
|
final
void
|
notify()
Wakes up a single thread that is waiting on this object's
monitor.
|
final
void
|
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
|
String
|
toString()
Returns a string representation of the object.
|
final
void
|
wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted.
|
|
Public constructors
KeyRep
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
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 |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# KeyRep\n\nAdded in [API level 1](/guide/topics/manifest/uses-sdk-element#ApiLevels) \nSummary: [Ctors](#pubctors) \\| [Protected Methods](#promethods) \\| [Inherited Methods](#inhmethods) \n\nKeyRep\n======\n\n\n`\npublic\n\n\nclass\nKeyRep\n`\n\n\n`\n\nextends `[Object](/reference/java/lang/Object)`\n\n\n`\n\n`\n\n\nimplements\n\n`[Serializable](/reference/java/io/Serializable)`\n\n\n`\n\n|---|----------------------|\n| [java.lang.Object](/reference/java/lang/Object) ||\n| ↳ | java.security.KeyRep |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nStandardized representation for serialized Key objects.\n\n\nNote that a serialized Key may contain sensitive information\nwhich should not be exposed in untrusted environments. See the\n[Security Appendix](https://docs.oracle.com/en/java/javase/17/docs/specs/serialization/security.html)\nof the Serialization Specification for more information. \n**See also:**\n\n- [Key](/reference/java/security/Key)\n- [KeyFactory](/reference/java/security/KeyFactory)\n- [SecretKeySpec](/reference/javax/crypto/spec/SecretKeySpec)\n- [X509EncodedKeySpec](/reference/java/security/spec/X509EncodedKeySpec)\n- [PKCS8EncodedKeySpec](/reference/java/security/spec/PKCS8EncodedKeySpec)\n\nSummary\n-------\n\n| ### Public constructors ||\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| ` `[KeyRep](/reference/java/security/KeyRep#KeyRep(java.security.KeyRep.Type,%20java.lang.String,%20java.lang.String,%20byte[]))`(`[KeyRep.Type](/reference/java/security/KeyRep.Type)` type, `[String](/reference/java/lang/String)` algorithm, `[String](/reference/java/lang/String)` format, byte[] encoded) ` Construct the alternate Key class. |\n\n| ### Protected methods ||\n|------------------------------------------|----------------------------------------------------------------------------------------------|\n| ` `[Object](/reference/java/lang/Object) | ` `[readResolve](/reference/java/security/KeyRep#readResolve())`() ` Resolve the Key object. |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From class ` `[java.lang.Object](/reference/java/lang/Object)` ` |---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](/reference/java/lang/Object) | ` `[clone](/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object. | | ` boolean` | ` `[equals](/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](/reference/java/lang/Object)` obj) ` Indicates whether some other object is \"equal to\" this one. | | ` void` | ` `[finalize](/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final `[Class](/reference/java/lang/Class)`\u003c?\u003e` | ` `[getClass](/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this `Object`. | | ` int` | ` `[hashCode](/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object. | | ` final void` | ` `[notify](/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` `[notifyAll](/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor. | | ` `[String](/reference/java/lang/String) | ` `[toString](/reference/java/lang/Object#toString())`() ` Returns a string representation of the object. | | ` final void` | ` `[wait](/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` `[wait](/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` `[wait](/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||\n\nPublic constructors\n-------------------\n\n### KeyRep\n\nAdded in [API level 1](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\n```\npublic KeyRep (KeyRep.Type type, \n String algorithm, \n String format, \n byte[] encoded)\n```\n\nConstruct the alternate Key class.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|-------------|-------------------------------------------------------------------------------|\n| `type` | `KeyRep.Type`: either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE \u003cbr /\u003e |\n| `algorithm` | `String`: the algorithm returned from `Key.getAlgorithm()` \u003cbr /\u003e |\n| `format` | `String`: the encoding format returned from `Key.getFormat()` \u003cbr /\u003e |\n| `encoded` | `byte`: the encoded bytes returned from `Key.getEncoded()` \u003cbr /\u003e |\n\n| Throws ||\n|-------------------------------------------------------------------|-----------------------------------------------------------------------------------------|\n| [NullPointerException](/reference/java/lang/NullPointerException) | if type is `null`, if algorithm is `null`, if format is `null`, or if encoded is `null` |\n\nProtected methods\n-----------------\n\n### readResolve\n\nAdded in [API level 1](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\n```\nprotected Object readResolve ()\n```\n\nResolve the Key object.\n\nThis method supports three Type/format combinations:\n\n- Type.SECRET/\"RAW\" - returns a SecretKeySpec object constructed using encoded key bytes and algorithm\n- 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\n- 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\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---------------------------------------|--------------------------------|\n| [Object](/reference/java/lang/Object) | the resolved Key object \u003cbr /\u003e |\n\n| Throws ||\n|-------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ObjectStreamException](/reference/java/io/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 |"]]