3 #include <openssl/rand.h> 4 #include <openssl/hmac.h> 5 #include <openssl/err.h> 16 int rc = RAND_bytes(static_cast<unsigned char*>(ptr),
17 static_cast<int>(size));
20 unsigned long err = ERR_get_error();
21 char msg[256] = { 0 };
22 ERR_error_string_n(err, msg,
sizeof(msg));
24 ACE_TEXT(
"(%P|%t) UtilityImpl::generate_random_bytes: ERROR '%C' returned by RAND_bytes(...)\n"),
29 void UtilityImpl::hmac(
void* out,
void const* in,
size_t size,
const std::string& password)
const 31 unsigned char* digest = HMAC(EVP_sha1(), password.c_str(),
32 static_cast<int>(password.size()),
33 static_cast<const unsigned char*>(in),
34 static_cast<int>(size), NULL, NULL);
void * memcpy(void *t, const void *s, size_t len)
virtual void hmac(void *out, void const *in, size_t size, const std::string &password) const
virtual void generate_random_bytes(void *ptr, size_t size)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
The Internal API and Implementation of OpenDDS.