#define _POSIX_C_SOURCE 200809L #include "tlse.h" const char *tls_cipher_name(struct TLSContext *context) { if (!context) { return "UNKNOWN"; } switch (context->cipher) { case TLS_RSA_WITH_AES_128_CBC_SHA: return "RSA-AES128CBC-SHA"; case TLS_RSA_WITH_AES_256_CBC_SHA: return "RSA-AES256CBC-SHA"; case TLS_RSA_WITH_AES_128_CBC_SHA256: return "RSA-AES128CBC-SHA256"; case TLS_RSA_WITH_AES_256_CBC_SHA256: return "RSA-AES256CBC-SHA256"; case TLS_RSA_WITH_AES_128_GCM_SHA256: return "RSA-AES128GCM-SHA256"; case TLS_RSA_WITH_AES_256_GCM_SHA384: return "RSA-AES256GCM-SHA384"; case TLS_DHE_RSA_WITH_AES_128_CBC_SHA: return "DHE-RSA-AES128CBC-SHA"; case TLS_DHE_RSA_WITH_AES_256_CBC_SHA: return "DHE-RSA-AES256CBC-SHA"; case TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: return "DHE-RSA-AES128CBC-SHA256"; case TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: return "DHE-RSA-AES256CBC-SHA256"; case TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: return "DHE-RSA-AES128GCM-SHA256"; case TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: return "DHE-RSA-AES256GCM-SHA384"; case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: return "ECDHE-RSA-AES128CBC-SHA"; case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: return "ECDHE-RSA-AES256CBC-SHA"; case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: return "ECDHE-RSA-AES128CBC-SHA256"; case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: return "ECDHE-RSA-AES128GCM-SHA256"; case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: return "ECDHE-RSA-AES256GCM-SHA384"; case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: return "ECDHE-ECDSA-AES128CBC-SHA"; case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: return "ECDHE-ECDSA-AES256CBC-SHA"; case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: return "ECDHE-ECDSA-AES128CBC-SHA256"; case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: return "ECDHE-ECDSA-AES256CBC-SHA384"; case TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: return "ECDHE-ECDSA-AES128GCM-SHA256"; case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: return "ECDHE-ECDSA-AES256GCM-SHA384"; case TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: return "ECDHE-RSA-CHACHA20-POLY1305-SHA256"; case TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: return "ECDHE-ECDSA-CHACHA20-POLY1305-SHA256"; case TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256: return "ECDHE-DHE-CHACHA20-POLY1305-SHA256"; case TLS_AES_128_GCM_SHA256: return "TLS-AES-128-GCM-SHA256"; case TLS_AES_256_GCM_SHA384: return "TLS-AES-256-GCM-SHA384"; case TLS_CHACHA20_POLY1305_SHA256: return "TLS-CHACHA20-POLY1305-SHA256"; case TLS_AES_128_CCM_SHA256: return "TLS-AES-128-CCM-SHA256"; case TLS_AES_128_CCM_8_SHA256: return "TLS-AES-128-CCM-8-SHA256"; } return "UNKNOWN"; }