diff options
author | Jan Hutter <jhutter@hsr.ch> | 2005-11-29 17:19:59 +0000 |
---|---|---|
committer | Jan Hutter <jhutter@hsr.ch> | 2005-11-29 17:19:59 +0000 |
commit | f890d8fe62b2f3bbf560a6ed2f532da2aab9c4dd (patch) | |
tree | ec03ffe188c72a576eac7275aaace0f93c9be634 /Source/charon/transforms/signers | |
parent | 0f803b4771a94b65344faaea208904428c09aca6 (diff) | |
download | strongswan-f890d8fe62b2f3bbf560a6ed2f532da2aab9c4dd.tar.bz2 strongswan-f890d8fe62b2f3bbf560a6ed2f532da2aab9c4dd.tar.xz |
- encryption seems to work
Diffstat (limited to 'Source/charon/transforms/signers')
-rw-r--r-- | Source/charon/transforms/signers/hmac_signer.c | 6 | ||||
-rw-r--r-- | Source/charon/transforms/signers/signer.h | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/charon/transforms/signers/hmac_signer.c b/Source/charon/transforms/signers/hmac_signer.c index e6aeeae47..a38999567 100644 --- a/Source/charon/transforms/signers/hmac_signer.c +++ b/Source/charon/transforms/signers/hmac_signer.c @@ -96,6 +96,11 @@ static void verify_signature (private_hmac_signer_t *this, chunk_t data, chunk_t *valid = FALSE; } } + +static size_t get_key_size (private_hmac_signer_t *this) +{ + return this->hmac_prf->get_block_size(this->hmac_prf); +} static size_t get_block_size (private_hmac_signer_t *this) { @@ -138,6 +143,7 @@ hmac_signer_t *hmac_signer_create(hash_algorithm_t hash_algoritm) this->public.signer_interface.get_signature = (void (*) (signer_t*, chunk_t, u_int8_t*))get_signature; this->public.signer_interface.allocate_signature = (void (*) (signer_t*, chunk_t, chunk_t*))allocate_signature; this->public.signer_interface.verify_signature = (void (*) (signer_t*, chunk_t, chunk_t,bool *))verify_signature; + this->public.signer_interface.get_key_size = (size_t (*) (signer_t*))get_key_size; this->public.signer_interface.get_block_size = (size_t (*) (signer_t*))get_block_size; this->public.signer_interface.set_key = (void (*) (signer_t*,chunk_t))set_key; this->public.signer_interface.destroy = (void (*) (signer_t*))destroy; diff --git a/Source/charon/transforms/signers/signer.h b/Source/charon/transforms/signers/signer.h index eb6a68a93..ef0a89aed 100644 --- a/Source/charon/transforms/signers/signer.h +++ b/Source/charon/transforms/signers/signer.h @@ -92,6 +92,14 @@ struct signer_t { size_t (*get_block_size) (signer_t *this); /** + * @brief Get the key size of the signature algorithm. + * + * @param this calling signer + * @return key size in bytes + */ + size_t (*get_key_size) (signer_t *this); + + /** * @brief Set the key for this signer. * * @param this calling signer |