I think it will require some coding on Poco side. HMAC is accepting any class as template argument, and hoping it is a Digest
class ans using methods like digest() that may not even exist. The HMACEngine that instantiates the class as template, so you can´t passa anything to its constructor as it is. In fact I don´t think that is a good use of templates, while I´m not very familiar with using this C++ resource yet, I think one should not expect anything to be available from templated class.
Probably a new HMACEngine
for the Crypto
module (instead of Foundation
module) would be good. But looks like an approach more like the Poco::Crypto::RSADigestEngine
would be better than the current template based one. I´ve recently modified Poco::Crypto::RSADigestEngine
to be based on Poco::Crypto::DigestEngine
instead off old Foundation Poco::DigestEngine
, and therefore for next release it will also support all hashes that OpenSSL support. Basically RSADigestEngine
creates an instance of a Poco::Crypto::DigestEngine
as base and uses it.
I could help on a patch proposal if you create one at github. Poco::Crypto does need some updates :)