Modifier and Type | Field and Description |
---|---|
protected TlsCryptoParameters |
cryptoParams |
protected TlsStreamCipherImpl |
decryptCipher |
protected TlsStreamCipherImpl |
encryptCipher |
protected TlsSuiteMac |
readMac |
protected boolean |
usesNonce |
protected TlsSuiteMac |
writeMac |
Constructor and Description |
---|
TlsStreamCipher(TlsCryptoParameters cryptoParams,
TlsStreamCipherImpl encryptCipher,
TlsStreamCipherImpl decryptCipher,
TlsHMAC clientWriteDigest,
TlsHMAC serverWriteDigest,
int cipherKeySize,
boolean usesNonce) |
Modifier and Type | Method and Description |
---|---|
protected void |
checkMAC(long seqNo,
short type,
byte[] recBuf,
int recStart,
int recEnd,
byte[] calcBuf,
int calcOff,
int calcLen) |
byte[] |
decodeCiphertext(long seqNo,
short type,
byte[] ciphertext,
int offset,
int len)
Validate and decrypt the passed in cipher text using the current cipher suite.
|
byte[] |
encodePlaintext(long seqNo,
short type,
byte[] plaintext,
int offset,
int len)
Encrypt and MAC the passed in plain text using the current cipher suite.
|
int |
getPlaintextLimit(int ciphertextLimit)
Return the maximum size for the plaintext given ciphertextlimit bytes of ciphertext.
|
protected void |
updateIV(TlsStreamCipherImpl cipher,
boolean forEncryption,
long seqNo) |
protected TlsCryptoParameters cryptoParams
protected TlsStreamCipherImpl encryptCipher
protected TlsStreamCipherImpl decryptCipher
protected TlsSuiteMac writeMac
protected TlsSuiteMac readMac
protected boolean usesNonce
public TlsStreamCipher(TlsCryptoParameters cryptoParams, TlsStreamCipherImpl encryptCipher, TlsStreamCipherImpl decryptCipher, TlsHMAC clientWriteDigest, TlsHMAC serverWriteDigest, int cipherKeySize, boolean usesNonce) throws java.io.IOException
java.io.IOException
public int getPlaintextLimit(int ciphertextLimit)
TlsCipher
getPlaintextLimit
in interface TlsCipher
ciphertextLimit
- the maximum number of bytes of ciphertext.public byte[] encodePlaintext(long seqNo, short type, byte[] plaintext, int offset, int len) throws java.io.IOException
TlsCipher
encodePlaintext
in interface TlsCipher
seqNo
- sequence number of the message represented by plaintext.type
- content type of the message represented by plaintext.plaintext
- array holding input plain text to the cipher.offset
- offset into input array the plain text starts at.len
- length of the plaintext in the array.java.io.IOException
public byte[] decodeCiphertext(long seqNo, short type, byte[] ciphertext, int offset, int len) throws java.io.IOException
TlsCipher
decodeCiphertext
in interface TlsCipher
seqNo
- sequence number of the message represented by ciphertext.type
- content type of the message represented by ciphertext.ciphertext
- array holding input cipher text to the cipher.offset
- offset into input array the cipher text starts at.len
- length of the cipher text in the array.java.io.IOException
protected void checkMAC(long seqNo, short type, byte[] recBuf, int recStart, int recEnd, byte[] calcBuf, int calcOff, int calcLen) throws java.io.IOException
java.io.IOException
protected void updateIV(TlsStreamCipherImpl cipher, boolean forEncryption, long seqNo) throws java.io.IOException
java.io.IOException