Package org.bouncycastle.tls.crypto.impl
Class TlsNullCipher
java.lang.Object
org.bouncycastle.tls.crypto.impl.TlsNullCipher
- All Implemented Interfaces:
TlsCipher
The NULL cipher.
-
Constructor Summary
ConstructorDescriptionTlsNullCipher
(TlsCryptoParameters cryptoParams, TlsHMAC clientMac, TlsHMAC serverMac) -
Method Summary
Modifier and TypeMethodDescriptiondecodeCiphertext
(long seqNo, short recordType, ProtocolVersion recordVersion, byte[] ciphertext, int offset, int len) Decode the passed in ciphertext using the current bulk cipher.encodePlaintext
(long seqNo, short contentType, ProtocolVersion recordVersion, int headerAllocation, byte[] plaintext, int offset, int len) Encode the passed in plaintext using the current bulk cipher.int
getCiphertextDecodeLimit
(int plaintextLimit) Return the maximum input size for a ciphertext given a maximum output size for the plaintext of plaintextLimit bytes.int
getCiphertextEncodeLimit
(int plaintextLimit) Return the maximum output size for a ciphertext given a maximum input size for the plaintext of plaintextLimit bytes.int
getPlaintextDecodeLimit
(int ciphertextLimit) Return the maximum output size for the plaintext given a maximum input size for the ciphertext of ciphertextLimit bytes.int
getPlaintextEncodeLimit
(int ciphertextLimit) Return the maximum input size for the plaintext given a maximum output size for the ciphertext of ciphertextLimit bytes.void
void
boolean
boolean
-
Constructor Details
-
TlsNullCipher
public TlsNullCipher(TlsCryptoParameters cryptoParams, TlsHMAC clientMac, TlsHMAC serverMac) throws IOException - Throws:
IOException
-
-
Method Details
-
getCiphertextDecodeLimit
public int getCiphertextDecodeLimit(int plaintextLimit) Description copied from interface:TlsCipher
Return the maximum input size for a ciphertext given a maximum output size for the plaintext of plaintextLimit bytes.- Specified by:
getCiphertextDecodeLimit
in interfaceTlsCipher
- Parameters:
plaintextLimit
- the maximum output size for the plaintext.- Returns:
- the maximum input size of the ciphertext for plaintextLimit bytes of output.
-
getCiphertextEncodeLimit
public int getCiphertextEncodeLimit(int plaintextLimit) Description copied from interface:TlsCipher
Return the maximum output size for a ciphertext given a maximum input size for the plaintext of plaintextLimit bytes.- Specified by:
getCiphertextEncodeLimit
in interfaceTlsCipher
- Parameters:
plaintextLimit
- the maximum input size for the plaintext.- Returns:
- the maximum output size of the ciphertext for plaintextLimit bytes of input.
-
getPlaintextDecodeLimit
public int getPlaintextDecodeLimit(int ciphertextLimit) Description copied from interface:TlsCipher
Return the maximum output size for the plaintext given a maximum input size for the ciphertext of ciphertextLimit bytes.- Specified by:
getPlaintextDecodeLimit
in interfaceTlsCipher
- Parameters:
ciphertextLimit
- the maximum input size for the ciphertext.- Returns:
- the maximum output size of the plaintext for ciphertextLimit bytes of input.
-
getPlaintextEncodeLimit
public int getPlaintextEncodeLimit(int ciphertextLimit) Description copied from interface:TlsCipher
Return the maximum input size for the plaintext given a maximum output size for the ciphertext of ciphertextLimit bytes.- Specified by:
getPlaintextEncodeLimit
in interfaceTlsCipher
- Parameters:
ciphertextLimit
- the maximum output size for the ciphertext.- Returns:
- the maximum input size of the plaintext for ciphertextLimit bytes of output.
-
encodePlaintext
public TlsEncodeResult encodePlaintext(long seqNo, short contentType, ProtocolVersion recordVersion, int headerAllocation, byte[] plaintext, int offset, int len) throws IOException Description copied from interface:TlsCipher
Encode the passed in plaintext using the current bulk cipher.- Specified by:
encodePlaintext
in interfaceTlsCipher
- Parameters:
seqNo
- sequence number of the message represented by plaintext.contentType
- content type of the message represented by plaintext.recordVersion
-ProtocolVersion
used for the record.headerAllocation
- extra bytes to allocate at start of returned byte array.plaintext
- array holding input plaintext to the cipher.offset
- offset into input array the plaintext starts at.len
- length of the plaintext in the array.- Returns:
- A
TlsEncodeResult
containing the result of encoding (after 'headerAllocation' unused bytes). - Throws:
IOException
-
decodeCiphertext
public TlsDecodeResult decodeCiphertext(long seqNo, short recordType, ProtocolVersion recordVersion, byte[] ciphertext, int offset, int len) throws IOException Description copied from interface:TlsCipher
Decode the passed in ciphertext using the current bulk cipher.- Specified by:
decodeCiphertext
in interfaceTlsCipher
- Parameters:
seqNo
- sequence number of the message represented by ciphertext.recordType
- content type used in the record for this message.recordVersion
-ProtocolVersion
used for the record.ciphertext
- array holding input ciphertext to the cipher.offset
- offset into input array the ciphertext starts at.len
- length of the ciphertext in the array.- Returns:
- A
TlsDecodeResult
containing the result of decoding. - Throws:
IOException
-
rekeyDecoder
- Specified by:
rekeyDecoder
in interfaceTlsCipher
- Throws:
IOException
-
rekeyEncoder
- Specified by:
rekeyEncoder
in interfaceTlsCipher
- Throws:
IOException
-
usesOpaqueRecordTypeDecode
public boolean usesOpaqueRecordTypeDecode()- Specified by:
usesOpaqueRecordTypeDecode
in interfaceTlsCipher
-
usesOpaqueRecordTypeEncode
public boolean usesOpaqueRecordTypeEncode()- Specified by:
usesOpaqueRecordTypeEncode
in interfaceTlsCipher
-