Refactored TLSSecurityParameters to handle most ciphers
Refactored TLSSessionCtx to use the new security parameters
Added TLSCompressionParameters to deal with compression
Wrote unit tests for above classes
Wrote a pycrypto compatible implementation of a Null cipher
and Null hash
Wrote a zlib compatible implementation of Null compression
Removed cipher_factory() and describe_cipher()
Removed PKCS7 automatic encoding. Will move this into the
crypto helper classes in another commit. Will allow side channel
testing
I refactored this layer quite heavily to allow easy support for all cipher and compression methods. I also tried to group all necessary parameters inside the TLSSessionCtx as you started.
The plan is never to use individual parameters, but just pass handles to TLSSessionCtx to functions, which can then do encryption/compression/... transparently.
I don't think this conflicts too much with the tlsfinished branch, and should be able to integrate fairly nicely pending a bit of refactoring of the function definitions.
I refactored this layer quite heavily to allow easy support for all cipher and compression methods. I also tried to group all necessary parameters inside the TLSSessionCtx as you started. The plan is never to use individual parameters, but just pass handles to TLSSessionCtx to functions, which can then do encryption/compression/... transparently.
I don't think this conflicts too much with the tlsfinished branch, and should be able to integrate fairly nicely pending a bit of refactoring of the function definitions.