public abstract class AbstractTlsSecret extends java.lang.Object implements TlsSecret
Modifier and Type | Field and Description |
---|---|
protected byte[] |
data |
Modifier | Constructor and Description |
---|---|
protected |
AbstractTlsSecret(byte[] data)
Base constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkAlive() |
TlsCipher |
createCipher(TlsCryptoParameters cryptoParams,
int encryptionAlgorithm,
int macAlgorithm)
Create a cipher suite that matches the passed in encryption algorithm and mac algorithm.
|
void |
destroy()
Destroy the internal state of the secret.
|
byte[] |
encrypt(TlsCertificate certificate)
Return the an encrypted copy of the data this secret is based on.
|
byte[] |
extract()
Return the internal data from this secret.
|
protected abstract AbstractTlsCrypto |
getCrypto() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
deriveUsingPRF
protected AbstractTlsSecret(byte[] data)
data
- the byte[] making up the secret value.protected void checkAlive()
protected abstract AbstractTlsCrypto getCrypto()
public TlsCipher createCipher(TlsCryptoParameters cryptoParams, int encryptionAlgorithm, int macAlgorithm) throws java.io.IOException
TlsSecret
See enumeration classes EncryptionAlgorithm
, MACAlgorithm
for appropriate argument values.
createCipher
in interface TlsSecret
cryptoParams
- context specific parameters.encryptionAlgorithm
- the encryption algorithm to be employed by the cipher suite.macAlgorithm
- the MAC algorithm to be employed by the cipher suite.java.io.IOException
public void destroy()
TlsSecret
TlsSecret
will result in an IllegalStateException
being thrown.public byte[] encrypt(TlsCertificate certificate) throws java.io.IOException
TlsSecret
public byte[] extract()
TlsSecret