tls

object tls

Based on SSLContextFactory from jetty.

class Object
trait Matchable
class Any
tls.type

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:

                       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
Value parameters:
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 parameters:
sslSession

Session from which certificate to be read

Returns:

Empty array if no certificates can be read from

sslSession