tls_ciphersuites.h [plain text]
#ifndef _TLS_CIPHERSUITES_H_
#define _TLS_CIPHERSUITES_H_
#include <stdint.h>
#include "tls_types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
SSL_CipherAlgorithmNull,
SSL_CipherAlgorithmRC2_128,
SSL_CipherAlgorithmRC4_128,
SSL_CipherAlgorithmDES_CBC,
SSL_CipherAlgorithm3DES_CBC,
SSL_CipherAlgorithmAES_128_CBC,
SSL_CipherAlgorithmAES_256_CBC,
SSL_CipherAlgorithmAES_128_GCM,
SSL_CipherAlgorithmAES_256_GCM,
} SSL_CipherAlgorithm;
typedef enum {
HA_Null = 0, HA_MD5,
HA_SHA1,
HA_SHA256,
HA_SHA384,
} HMAC_Algs;
typedef enum
{
SSL_NULL_auth,
SSL_RSA,
SSL_RSA_EXPORT,
SSL_DH_DSS,
SSL_DH_DSS_EXPORT,
SSL_DH_RSA,
SSL_DH_RSA_EXPORT,
SSL_DHE_DSS,
SSL_DHE_DSS_EXPORT,
SSL_DHE_RSA,
SSL_DHE_RSA_EXPORT,
SSL_DH_anon,
SSL_DH_anon_EXPORT,
SSL_Fortezza,
SSL_ECDH_ECDSA,
SSL_ECDHE_ECDSA,
SSL_ECDH_RSA,
SSL_ECDHE_RSA,
SSL_ECDH_anon,
TLS_PSK,
TLS_DHE_PSK,
TLS_RSA_PSK,
} KeyExchangeMethod;
HMAC_Algs sslCipherSuiteGetMacAlgorithm(uint16_t cipherSuite);
SSL_CipherAlgorithm sslCipherSuiteGetSymmetricCipherAlgorithm(uint16_t cipherSuite);
KeyExchangeMethod sslCipherSuiteGetKeyExchangeMethod(uint16_t cipherSuite);
tls_protocol_version sslCipherSuiteGetMinSupportedTLSVersion(uint16_t cipherSuite);
uint8_t sslCipherSuiteGetMacSize(uint16_t cipherSuite);
uint8_t sslCipherSuiteGetSymmetricCipherKeySize(uint16_t cipherSuite);
uint8_t sslCipherSuiteGetSymmetricCipherBlockIvSize(uint16_t cipherSuite);
size_t sslCipherSuiteGetKeydataSize(uint16_t cipherSuite);
#define CIPHER_SUITE_IS_SSLv2(suite) ((suite & 0xff00) == 0xff00)
#ifdef __cplusplus
}
#endif
#endif