diff options
author | Christian Pointner <equinox@anytun.org> | 2014-06-22 22:11:20 +0000 |
---|---|---|
committer | Christian Pointner <equinox@anytun.org> | 2014-06-22 22:11:20 +0000 |
commit | f463e79addfe63297d4e44f9da49a30cc56b68c3 (patch) | |
tree | c1160efa35a3145715ef95e33d2cd0c76285f830 /src/authAlgo.cpp | |
parent | improved selection of crypto lib (diff) |
added compile switches for libnettle
Diffstat (limited to 'src/authAlgo.cpp')
-rw-r--r-- | src/authAlgo.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/authAlgo.cpp b/src/authAlgo.cpp index 24bb423..0fa4a47 100644 --- a/src/authAlgo.cpp +++ b/src/authAlgo.cpp @@ -57,6 +57,9 @@ Sha1AuthAlgo::Sha1AuthAlgo(kd_dir_t d) : AuthAlgo(d), key_(DIGEST_LENGTH) #if defined(USE_SSL_CRYPTO) HMAC_CTX_init(&ctx_); HMAC_Init_ex(&ctx_, NULL, 0, EVP_sha1(), NULL); +#elif defined(USE_NETTLE) + // TODO: nettle + #else // USE_GCRYPT is the default gcry_error_t err = gcry_md_open(&handle_, GCRY_MD_SHA1, GCRY_MD_FLAG_HMAC); if(err) { @@ -70,6 +73,9 @@ Sha1AuthAlgo::~Sha1AuthAlgo() { #if defined(USE_SSL_CRYPTO) HMAC_CTX_cleanup(&ctx_); +#elif defined(USE_NETTLE) + // TODO: nettle + #else // USE_GCRYPT is the default if(handle_) { gcry_md_close(handle_); @@ -97,6 +103,10 @@ void Sha1AuthAlgo::generate(KeyDerivation& kd, EncryptedPacket& packet) uint8_t hmac[DIGEST_LENGTH]; HMAC_Update(&ctx_, packet.getAuthenticatedPortion(), packet.getAuthenticatedPortionLength()); HMAC_Final(&ctx_, hmac, NULL); +#elif defined(USE_NETTLE) + // TODO: nettle + uint8_t hmac[DIGEST_LENGTH]; + #else // USE_GCRYPT is the default gcry_error_t err = gcry_md_setkey(handle_, key_.getBuf(), key_.getLength()); if(err) { @@ -140,6 +150,10 @@ bool Sha1AuthAlgo::checkTag(KeyDerivation& kd, EncryptedPacket& packet) uint8_t hmac[DIGEST_LENGTH]; HMAC_Update(&ctx_, packet.getAuthenticatedPortion(), packet.getAuthenticatedPortionLength()); HMAC_Final(&ctx_, hmac, NULL); +#elif defined(USE_NETTLE) + // TODO: nettle + uint8_t hmac[DIGEST_LENGTH]; + #else // USE_GCRYPT is the default gcry_error_t err = gcry_md_setkey(handle_, key_.getBuf(), key_.getLength()); if(err) { |