ssl_cipher

Types


cipher() = null
                 | rc4_128
                 | idea_cbc
                 | des40_cbc
                 | des_cbc
                 | '3des_ede_cbc'
                 | aes_128_cbc
                 | aes_256_cbc
                 | aes_128_gcm
                 | aes_256_gcm
                 | chacha20_poly1305

cipher_enum() = integer()

cipher_suite() = binary()

erl_cipher_suite() = {key_algo(), cipher(), hash()}

hash() = null | sha | md5 | sha224 | sha256 | sha384 | sha512

int_cipher_suite() =
            {key_algo(), cipher(), hash(), hash() | default_prf}

key_algo() = null
                   | rsa
                   | dhe_rsa
                   | dhe_dss
                   | ecdhe_ecdsa
                   | ecdh_ecdsa
                   | ecdh_rsa
                   | srp_rsa
                   | srp_dss
                   | psk
                   | dhe_psk
                   | rsa_psk
                   | dh_anon
                   | ecdh_anon
                   | srp_anon

openssl_cipher_suite() = string()

Functions


security_parameters(CipherSuite::cipher_suite(), Security_parameters::#security_parameters{}) -> #security_parameters{}

security_parameters(Version::ssl_version() (see module ssl_record) | undefined, CipherSuite::cipher_suite(), Security_parameters::#security_parameters{}) -> #security_parameters{}

cipher_init(BCA::cipher_enum(), IV::binary(), Key::binary()) -> #cipher_state{}

cipher(X1::cipher_enum(), Cipher_state::#cipher_state{}, Mac::binary(), Fragment::iodata(), Version::ssl_version() (see module ssl_record)) -> {binary(), #cipher_state{}}

cipher_aead(X1::cipher_enum(), Cipher_state::#cipher_state{}, SeqNo::integer(), AAD::binary(), Fragment::iodata(), Version::ssl_version() (see module ssl_record)) -> {binary(), #cipher_state{}}

decipher(X1::cipher_enum(), HashSz::integer(), Cipher_state::#cipher_state{}, Fragment::binary(), Version::ssl_version() (see module ssl_record), PaddingCheck::boolean()) -> {binary(), binary(), #cipher_state{}} | #alert{}

decipher_aead(X1::cipher_enum(), Cipher_state::#cipher_state{}, SeqNo::integer(), AAD::binary(), Fragment::binary(), Version::ssl_version() (see module ssl_record)) -> {binary(), binary(), #cipher_state{}} | #alert{}

suites(X1::ssl_version() (see module ssl_record)) -> [cipher_suite()]

all_suites(Version) -> term()

anonymous_suites(N::ssl_version() (see module ssl_record) | integer()) -> [cipher_suite()]

psk_suites(N::ssl_version() (see module ssl_record) | integer()) -> [cipher_suite()]

srp_suites() -> [cipher_suite()]

rc4_suites(Version::ssl_version() (see module ssl_record)) -> [cipher_suite()]

suite_definition(X1::cipher_suite()) -> int_cipher_suite()

suite(X1::erl_cipher_suite()) -> cipher_suite()

openssl_suite(X1::openssl_cipher_suite()) -> cipher_suite()

openssl_suite_name(Cipher::cipher_suite()) -> openssl_cipher_suite()

filter(DerCert::undefined | binary(), Ciphers::[cipher_suite()]) -> [cipher_suite()]

filter_suites(Suites::[cipher_suite()]) -> [cipher_suite()]

is_acceptable_hash(Hash, Algos) -> term()

is_fallback(CipherSuites) -> term()

hash_algorithm(Other) -> term()

sign_algorithm(Other) -> term()

ec_keyed_suites() -> term()