aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-09-02 09:21:45 +0200
committerMartin Willi <martin@revosec.ch>2010-09-02 13:07:24 +0200
commit9dd2ca924e7aa9c1fd611e99ceb764696ba77dd3 (patch)
treeadd37df3bdcaa036f0c18bcb6ef37bed4489254c /src
parentea6d7cb4bec2da8f4538cc142200eb7f94a2f9f7 (diff)
downloadstrongswan-9dd2ca924e7aa9c1fd611e99ceb764696ba77dd3.tar.bz2
strongswan-9dd2ca924e7aa9c1fd611e99ceb764696ba77dd3.tar.xz
Added TLS specific Hash and Signature Algorithm identifiers
Diffstat (limited to 'src')
-rw-r--r--src/libtls/tls_crypto.c16
-rw-r--r--src/libtls/tls_crypto.h34
2 files changed, 50 insertions, 0 deletions
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"
@@ -251,6 +253,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.
*/
struct tls_crypto_t {