Package io.netty.handler.ssl
Class PemPrivateKey
java.lang.Object
io.netty.util.AbstractReferenceCounted
io.netty.handler.ssl.PemPrivateKey
- All Implemented Interfaces:
ByteBufHolder
,PemEncoded
,ReferenceCounted
,Serializable
,Key
,PrivateKey
,Destroyable
This is a special purpose implementation of a
PrivateKey
which allows the
user to pass PEM/PKCS#8 encoded key material straight into OpenSslContext
without having to parse and re-encode bytes in Java land.
All methods other than what's implemented in PemEncoded
and Destroyable
throw UnsupportedOperationException
s.- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncontent()
Return the data which is held by thisByteBufHolder
.copy()
Creates a deep copy of thisByteBufHolder
.protected void
Called onceAbstractReferenceCounted.refCnt()
is equals 0.void
destroy()
NOTE: This is a JDK8 interface/method.Duplicates thisByteBufHolder
.byte[]
boolean
NOTE: This is a JDK8 interface/method.boolean
Returnstrue
if the PEM encoded value is considered sensitive information such as a private key.Returns a newByteBufHolder
which contains the specifiedcontent
.retain()
Increases the reference count by1
.retain
(int increment) Increases the reference count by the specifiedincrement
.Duplicates thisByteBufHolder
.(package private) static PemEncoded
toPEM
(ByteBufAllocator allocator, boolean useDirect, byte[] bytes) (package private) static PemEncoded
toPEM
(ByteBufAllocator allocator, boolean useDirect, PrivateKey key) Creates aPemEncoded
value from thePrivateKey
.touch()
Records the current access location of this object for debugging purposes.Records the current access location of this object with an additional arbitrary information for debugging purposes.static PemPrivateKey
valueOf
(byte[] key) Creates aPemPrivateKey
from rawbyte[]
.static PemPrivateKey
Creates aPemPrivateKey
from rawByteBuf
.Methods inherited from class io.netty.util.AbstractReferenceCounted
refCnt, release, release, setRefCnt
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.netty.util.ReferenceCounted
refCnt, release, release
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
BEGIN_PRIVATE_KEY
private static final byte[] BEGIN_PRIVATE_KEY -
END_PRIVATE_KEY
private static final byte[] END_PRIVATE_KEY -
PKCS8_FORMAT
- See Also:
-
-
-
Constructor Details
-
PemPrivateKey
-
-
Method Details
-
toPEM
Creates aPemEncoded
value from thePrivateKey
. -
toPEM
-
valueOf
Creates aPemPrivateKey
from rawbyte[]
. ATTENTION: It's assumed that the given argument is a PEM/PKCS#8 encoded value. No input validation is performed to validate it. -
valueOf
Creates aPemPrivateKey
from rawByteBuf
. ATTENTION: It's assumed that the given argument is a PEM/PKCS#8 encoded value. No input validation is performed to validate it. -
isSensitive
public boolean isSensitive()Description copied from interface:PemEncoded
Returnstrue
if the PEM encoded value is considered sensitive information such as a private key.- Specified by:
isSensitive
in interfacePemEncoded
-
content
Description copied from interface:ByteBufHolder
Return the data which is held by thisByteBufHolder
.- Specified by:
content
in interfaceByteBufHolder
-
copy
Description copied from interface:ByteBufHolder
Creates a deep copy of thisByteBufHolder
.- Specified by:
copy
in interfaceByteBufHolder
- Specified by:
copy
in interfacePemEncoded
-
duplicate
Description copied from interface:ByteBufHolder
Duplicates thisByteBufHolder
. Be aware that this will not automatically callByteBufHolder.retain()
.- Specified by:
duplicate
in interfaceByteBufHolder
- Specified by:
duplicate
in interfacePemEncoded
-
retainedDuplicate
Description copied from interface:ByteBufHolder
Duplicates thisByteBufHolder
. This method returns a retained duplicate unlikeByteBufHolder.duplicate()
.- Specified by:
retainedDuplicate
in interfaceByteBufHolder
- Specified by:
retainedDuplicate
in interfacePemEncoded
- See Also:
-
replace
Description copied from interface:ByteBufHolder
Returns a newByteBufHolder
which contains the specifiedcontent
.- Specified by:
replace
in interfaceByteBufHolder
- Specified by:
replace
in interfacePemEncoded
-
touch
Description copied from interface:ReferenceCounted
Records the current access location of this object for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
. This method is a shortcut totouch(null)
.- Specified by:
touch
in interfaceByteBufHolder
- Specified by:
touch
in interfacePemEncoded
- Specified by:
touch
in interfaceReferenceCounted
- Overrides:
touch
in classAbstractReferenceCounted
-
touch
Description copied from interface:ReferenceCounted
Records the current access location of this object with an additional arbitrary information for debugging purposes. If this object is determined to be leaked, the information recorded by this operation will be provided to you viaResourceLeakDetector
.- Specified by:
touch
in interfaceByteBufHolder
- Specified by:
touch
in interfacePemEncoded
- Specified by:
touch
in interfaceReferenceCounted
-
retain
Description copied from interface:ReferenceCounted
Increases the reference count by1
.- Specified by:
retain
in interfaceByteBufHolder
- Specified by:
retain
in interfacePemEncoded
- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classAbstractReferenceCounted
-
retain
Description copied from interface:ReferenceCounted
Increases the reference count by the specifiedincrement
.- Specified by:
retain
in interfaceByteBufHolder
- Specified by:
retain
in interfacePemEncoded
- Specified by:
retain
in interfaceReferenceCounted
- Overrides:
retain
in classAbstractReferenceCounted
-
deallocate
protected void deallocate()Description copied from class:AbstractReferenceCounted
Called onceAbstractReferenceCounted.refCnt()
is equals 0.- Specified by:
deallocate
in classAbstractReferenceCounted
-
getEncoded
public byte[] getEncoded()- Specified by:
getEncoded
in interfaceKey
-
getAlgorithm
- Specified by:
getAlgorithm
in interfaceKey
-
getFormat
-
destroy
public void destroy()NOTE: This is a JDK8 interface/method. Due to backwards compatibility reasons it's not possible to slap the@Override
annotation onto this method.- Specified by:
destroy
in interfaceDestroyable
- See Also:
-
isDestroyed
public boolean isDestroyed()NOTE: This is a JDK8 interface/method. Due to backwards compatibility reasons it's not possible to slap the@Override
annotation onto this method.- Specified by:
isDestroyed
in interfaceDestroyable
- See Also:
-