From 9dd2ca924e7aa9c1fd611e99ceb764696ba77dd3 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 2 Sep 2010 09:21:45 +0200 Subject: [PATCH] Added TLS specific Hash and Signature Algorithm identifiers --- src/libtls/tls_crypto.c | 16 ++++++++++++++++ src/libtls/tls_crypto.h | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/src/libtls/tls_crypto.c b/src/libtls/tls_crypto.c index c25119482..91c8b10ce 100644 --- a/src/libtls/tls_crypto.c +++ b/src/libtls/tls_crypto.c @@ -238,6 +238,22 @@ ENUM_NEXT(tls_cipher_suite_names, TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS_ECDHE_PSK_WITH_NULL_SHA384"); ENUM_END(tls_cipher_suite_names, TLS_ECDHE_PSK_WITH_NULL_SHA384); +ENUM(tls_hash_algorithm_names, TLS_HASH_NONE, TLS_HASH_SHA512, + "NONE", + "MD5", + "SHA1", + "SHA224", + "SHA256", + "SHA384", + "SHA512", +); + +ENUM(tls_signature_algorithm_names, TLS_SIG_RSA, TLS_SIG_ECDSA, + "RSA", + "DSA", + "ECDSA", +); + typedef struct private_tls_crypto_t private_tls_crypto_t; /** diff --git a/src/libtls/tls_crypto.h b/src/libtls/tls_crypto.h index 5fe90d868..7ed4b1e04 100644 --- a/src/libtls/tls_crypto.h +++ b/src/libtls/tls_crypto.h @@ -23,6 +23,8 @@ typedef struct tls_crypto_t tls_crypto_t; typedef enum tls_cipher_suite_t tls_cipher_suite_t; +typedef enum tls_hash_algorithm_t tls_hash_algorithm_t; +typedef enum tls_signature_algorithm_t tls_signature_algorithm_t; #include "tls.h" #include "tls_prf.h" @@ -250,6 +252,38 @@ enum tls_cipher_suite_t { */ extern enum_name_t *tls_cipher_suite_names; +/** + * TLS HashAlgorithm identifiers + */ +enum tls_hash_algorithm_t { + TLS_HASH_NONE = 0, + TLS_HASH_MD5 = 1, + TLS_HASH_SHA1 = 2, + TLS_HASH_SHA224 = 3, + TLS_HASH_SHA256 = 4, + TLS_HASH_SHA384 = 5, + TLS_HASH_SHA512 = 6, +}; + +/** + * Enum names for tls_hash_algorithm_t + */ +extern enum_name_t *tls_hash_algorithm_names; + +/** + * TLS SignatureAlgorithm identifiers + */ +enum tls_signature_algorithm_t { + TLS_SIG_RSA = 1, + TLS_SIG_DSA = 2, + TLS_SIG_ECDSA = 3, +}; + +/** + * Enum names for tls_signature_algorithm_t + */ +extern enum_name_t *tls_signature_algorithm_names; + /** * TLS crypto helper functions. */