return wrap_ptr(ctx);
}
+CtxPtr cmac_init(yaca_encrypt_algorithm_e algo, const KeyPtr& key)
+{
+ yaca_context_h ctx = YACA_CONTEXT_NULL;
+
+ YACA_SUCCESS(yaca_sign_initialize_cmac(&ctx, algo, key.get()));
+
+ return wrap_ptr(ctx);
+}
+
CtxPtr digest_init(yaca_digest_algorithm_e algo)
{
yaca_context_h ctx = YACA_CONTEXT_NULL;
default: return "Unknown digest algorithm";
}
}
+
+const char* encrypt2str(yaca_encrypt_algorithm_e algo)
+{
+ switch (algo) {
+ ENUM_DESCRIBE(YACA_ENCRYPT_AES);
+ ENUM_DESCRIBE(YACA_ENCRYPT_UNSAFE_DES);
+ ENUM_DESCRIBE(YACA_ENCRYPT_UNSAFE_3DES_2TDEA);
+ ENUM_DESCRIBE(YACA_ENCRYPT_3DES_3TDEA);
+ ENUM_DESCRIBE(YACA_ENCRYPT_UNSAFE_RC2);
+ ENUM_DESCRIBE(YACA_ENCRYPT_UNSAFE_RC4);
+ ENUM_DESCRIBE(YACA_ENCRYPT_CAST5);
+ default: return "Unknown encrypt algorithm";
+ }
+}
#undef ENUM_DESCRIBE
std::string truncate_str(const std::string& input, size_t len)
CtxPtr hmac_init(yaca_digest_algorithm_e algo, const KeyPtr& key);
+CtxPtr cmac_init(yaca_encrypt_algorithm_e algo, const KeyPtr& key);
+
CtxPtr digest_init(yaca_digest_algorithm_e algo);
Buffer random_buffer(size_t length);
const char* digest2str(yaca_digest_algorithm_e algo);
+const char* encrypt2str(yaca_encrypt_algorithm_e algo);
+
/* If input is longer than len it is truncated and an ellipsis is appended.
* Otherwise the original string is returned. */
std::string truncate_str(const std::string& input, size_t len);