KeyRep
Stay organized with collections
Save and categorize content based on your preferences.
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.
Public Constructor Summary
Inherited Method Summary
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals( Object obj)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final
Class<?>
|
getClass()
Returns the unique instance of Class that represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait(long timeout, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long timeout)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
Public Constructors
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
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
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[[["\u003cp\u003e\u003ccode\u003eKeyRep\u003c/code\u003e provides a standardized, serializable representation for \u003ccode\u003eKey\u003c/code\u003e objects.\u003c/p\u003e\n"],["\u003cp\u003eSerialized \u003ccode\u003eKeyRep\u003c/code\u003e objects may contain sensitive information and should be handled with caution in untrusted environments.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eKeyRep\u003c/code\u003e supports resolving serialized keys back into \u003ccode\u003eKey\u003c/code\u003e objects using the \u003ccode\u003ereadResolve\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ereadResolve\u003c/code\u003e handles specific \u003ccode\u003eType\u003c/code\u003e/\u003ccode\u003eformat\u003c/code\u003e combinations like SECRET/"RAW", PUBLIC/"X.509", and PRIVATE/"PKCS#8" to reconstruct the corresponding \u003ccode\u003eKey\u003c/code\u003e object.\u003c/p\u003e\n"]]],["`KeyRep` standardizes serialized Key objects, which may contain sensitive data. It implements `Serializable` and provides a constructor to create a `KeyRep` instance using key type, algorithm, format, and encoded bytes. The `readResolve` method resolves the Key object, supporting `SECRET/RAW`, `PUBLIC/X.509`, and `PRIVATE/PKCS#8` type/format combinations by constructing the appropriate key specification and generating the key. Invalid inputs will throw exceptions.\n"],null,["# KeyRep\n\npublic class **KeyRep** extends [Object](../../../reference/java/lang/Object.html) \nimplements [Serializable](../../../reference/java/io/Serializable.html) \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](../../../platform/serialization/spec/security.html)\nof the Serialization Specification for more information. \n\n##### See Also\n\n- [Key](../../../reference/java/security/Key.html)\n- [KeyFactory](../../../reference/java/security/KeyFactory.html)\n- [SecretKeySpec](../../../reference/javax/crypto/spec/SecretKeySpec.html)\n- [X509EncodedKeySpec](../../../reference/java/security/spec/X509EncodedKeySpec.html)\n- [PKCS8EncodedKeySpec](../../../reference/java/security/spec/PKCS8EncodedKeySpec.html) \n\n### Nested Class Summary\n\n|------|---|---|-----------|\n| enum | [KeyRep.Type](../../../reference/java/security/KeyRep.Type.html) || Key type. |\n\n### Public Constructor Summary\n\n|---|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | [KeyRep](../../../reference/java/security/KeyRep.html#KeyRep(java.security.KeyRep.Type,%20java.lang.String,%20java.lang.String,%20byte[]))([KeyRep.Type](../../../reference/java/security/KeyRep.Type.html) type, [String](../../../reference/java/lang/String.html) algorithm, [String](../../../reference/java/lang/String.html) format, byte\\[\\] encoded) Construct the alternate Key class. |\n\n### Protected Method Summary\n\n|----------------------------------------------------|-----------------------------------------------------------------------------------------------------|\n| [Object](../../../reference/java/lang/Object.html) | [readResolve](../../../reference/java/security/KeyRep.html#readResolve())() Resolve the Key object. |\n\n### Inherited Method Summary\n\nFrom class [java.lang.Object](../../../reference/java/lang/Object.html) \n\n|-------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Object](../../../reference/java/lang/Object.html) | [clone](../../../reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |\n| boolean | [equals](../../../reference/java/lang/Object.html#equals(java.lang.Object))([Object](../../../reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |\n| void | [finalize](../../../reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |\n| final [Class](../../../reference/java/lang/Class.html)\\\u003c?\\\u003e | [getClass](../../../reference/java/lang/Object.html#getClass())() Returns the unique instance of [Class](../../../reference/java/lang/Class.html) that represents this object's class. |\n| int | [hashCode](../../../reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |\n| final void | [notify](../../../reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |\n| final void | [notifyAll](../../../reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |\n| [String](../../../reference/java/lang/String.html) | [toString](../../../reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |\n| final void | [wait](../../../reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |\n| final void | [wait](../../../reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |\n| final void | [wait](../../../reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |\n\nPublic Constructors\n-------------------\n\n#### public\n**KeyRep**\n([KeyRep.Type](../../../reference/java/security/KeyRep.Type.html) type, [String](../../../reference/java/lang/String.html) algorithm, [String](../../../reference/java/lang/String.html) format, byte\\[\\] encoded)\n\nConstruct the alternate Key class.\n\n\u003cbr /\u003e\n\n##### Parameters\n\n| type | either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE |\n| algorithm | the algorithm returned from `Key.getAlgorithm()` |\n| format | the encoding format returned from `Key.getFormat()` |\n| encoded | the encoded bytes returned from `Key.getEncoded()` |\n|-----------|---------------------------------------------------------|\n\n##### Throws\n\n| [NullPointerException](../../../reference/java/lang/NullPointerException.html) | if type is `null`, if algorithm is `null`, if format is `null`, or if encoded is `null` |\n|--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|\n\nProtected Methods\n-----------------\n\n#### protected [Object](../../../reference/java/lang/Object.html)\n**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##### Returns\n\n- the resolved Key object \n\n##### Throws\n\n| [ObjectStreamException](../../../reference/java/io/ObjectStreamException.html) | 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 |\n|--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|"]]