public final class PemPrivateKey extends AbstractReferenceCounted implements java.security.PrivateKey, PemEncoded
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.PemEncoded
,
OpenSslContext
,
valueOf(byte[])
,
valueOf(ByteBuf)
,
Serialized FormModifier and Type | Field and Description |
---|---|
private static byte[] |
BEGIN_PRIVATE_KEY |
private ByteBuf |
content |
private static byte[] |
END_PRIVATE_KEY |
private static java.lang.String |
PKCS8_FORMAT |
Modifier | Constructor and Description |
---|---|
private |
PemPrivateKey(ByteBuf content) |
Modifier and Type | Method and Description |
---|---|
ByteBuf |
content()
Return the data which is held by this
ByteBufHolder . |
PemPrivateKey |
copy()
Create a deep copy of this
ByteBufHolder . |
protected void |
deallocate()
Called once
AbstractReferenceCounted.refCnt() is equals 0. |
void |
destroy()
NOTE: This is a JDK8 interface/method.
|
PemPrivateKey |
duplicate()
Duplicate the
ByteBufHolder . |
java.lang.String |
getAlgorithm() |
byte[] |
getEncoded() |
java.lang.String |
getFormat() |
boolean |
isDestroyed()
NOTE: This is a JDK8 interface/method.
|
boolean |
isSensitive()
Returns
true if the PEM encoded value is considered
sensitive information such as a private key. |
PemPrivateKey |
retain()
Increases the reference count by
1 . |
PemPrivateKey |
retain(int increment)
Increases the reference count by the specified
increment . |
(package private) static PemEncoded |
toPEM(ByteBufAllocator allocator,
boolean useDirect,
java.security.PrivateKey key)
Creates a
PemEncoded value from the PrivateKey . |
static PemPrivateKey |
valueOf(byte[] key)
Creates a
PemPrivateKey from raw byte[] . |
static PemPrivateKey |
valueOf(ByteBuf key)
Creates a
PemPrivateKey from raw ByteBuf . |
refCnt, release, release, setRefCnt
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
refCnt, release, release
private static final byte[] BEGIN_PRIVATE_KEY
private static final byte[] END_PRIVATE_KEY
private static final java.lang.String PKCS8_FORMAT
private final ByteBuf content
private PemPrivateKey(ByteBuf content)
static PemEncoded toPEM(ByteBufAllocator allocator, boolean useDirect, java.security.PrivateKey key)
PemEncoded
value from the PrivateKey
.public static PemPrivateKey valueOf(byte[] key)
PemPrivateKey
from raw byte[]
.
ATTENTION: It's assumed that the given argument is a PEM/PKCS#8 encoded value.
No input validation is performed to validate it.public static PemPrivateKey valueOf(ByteBuf key)
PemPrivateKey
from raw ByteBuf
.
ATTENTION: It's assumed that the given argument is a PEM/PKCS#8 encoded value.
No input validation is performed to validate it.public boolean isSensitive()
PemEncoded
true
if the PEM encoded value is considered
sensitive information such as a private key.isSensitive
in interface PemEncoded
public ByteBuf content()
ByteBufHolder
ByteBufHolder
.content
in interface ByteBufHolder
public PemPrivateKey copy()
ByteBufHolder
ByteBufHolder
.copy
in interface ByteBufHolder
copy
in interface PemEncoded
public PemPrivateKey duplicate()
ByteBufHolder
ByteBufHolder
. Be aware that this will not automatically call ByteBufHolder.retain()
.duplicate
in interface ByteBufHolder
duplicate
in interface PemEncoded
public PemPrivateKey retain()
ReferenceCounted
1
.retain
in interface ByteBufHolder
retain
in interface PemEncoded
retain
in interface ReferenceCounted
retain
in class AbstractReferenceCounted
public PemPrivateKey retain(int increment)
ReferenceCounted
increment
.retain
in interface ByteBufHolder
retain
in interface PemEncoded
retain
in interface ReferenceCounted
retain
in class AbstractReferenceCounted
protected void deallocate()
AbstractReferenceCounted
AbstractReferenceCounted.refCnt()
is equals 0.deallocate
in class AbstractReferenceCounted
public byte[] getEncoded()
getEncoded
in interface java.security.Key
public java.lang.String getAlgorithm()
getAlgorithm
in interface java.security.Key
public java.lang.String getFormat()
getFormat
in interface java.security.Key
public void destroy()
@Override
annotation onto
this method.destroy
in interface javax.security.auth.Destroyable
Destroyable.destroy()
public boolean isDestroyed()
@Override
annotation onto
this method.isDestroyed
in interface javax.security.auth.Destroyable
Destroyable.isDestroyed()