tls

object tls

Based on SSLContextFactory from jetty.

class Object
trait Matchable
class Any

Value members

Concrete methods

def deduceKeyLength(cipherSuite: String): Int

Given the name of a TLS/SSL cipher suite, return an int representing it effective stream cipher key strength. i.e. How much entropy material is in the key material being fed into the encryption routines.

Given the name of a TLS/SSL cipher suite, return an int representing it effective stream cipher key strength. i.e. How much entropy material is in the key material being fed into the encryption routines.

The following specs and resources were consulted for the implementation of this function: IANA TLS Cipher Suites registry (IANA https://www.iana.org/assignments/tls-parameters/tls-parameters.txt), RFC 2246 (The TLS Protocol Version 1.0, Appendix C), RFC 4346 (The Transport Layer Security (TLS) Protocol Version 1.1, Appendix C), RFC 5246 (The Transport Layer Security (TLS) Protocol Version 1.2, Appendix C), RFC 8446 (The Transport Layer Security (TLS) Protocol Version 1.3, Appendix B), RFC 7539 (ChaCha20 and Poly1305 for IETF Protocols), RFC 3713 (A Description of the Camellia Encryption Algorithm), RFC 5794 (A Description of the ARIA Encryption Algorithm), RFC 4269 (The SEED Encryption Algorithm), draft-crypto-sm4-00 (The SM4 Block Cipher Algorithm And Its Modes Of Operations), draft-smyshlyaev-tls12-gost-suites (GOST Cipher Suites for Transport Layer Security (TLS) Protocol Version 1.2), and draft-smyshlyaev-tls13-gost-suites (GOST Cipher Suites for Transport Layer Security (TLS) Protocol Version). The following table summarizes the relevant information from the sources listed above:

<pre> Effective Cipher Type Key Bits NULL * Stream 0 IDEA_CBC Block 128 RC2_CBC_40 * Block 40 RC4_40 * Stream 40 RC4_128 Stream 128 DES40_CBC * Block 40 DES_CBC Block 56 3DES_EDE_CBC Block 168 AES_128 Block 128 AES_256 Block 256 ChaCha20 Stream 256 Camellia_128 Block 128 Camellia_256 Block 256 Aria_128 Block 128 Aria_256 Block 256 SEED Block 128 SM4 Block 128 Kuznyechik Block 256 Magma Block 256 GOST 28147-89 Block 256 </pre>

Value Params
cipherSuite

String name of the TLS cipher suite.

Returns

int indicating the effective key entropy bit-length.

def getCertChain(sslSession: SSLSession): List[X509Certificate]

Return X509 certificates for the session.

Return X509 certificates for the session.

Value Params
sslSession

Session from which certificate to be read

Returns

Empty array if no certificates can be read from

sslSession