Like literally every programming language should have an implementation of HMAC-SHA1 around and lacking that, at least a SHA1 implementation. It's pretty trivial to build HMAC-<HASHFUNCTION> if you have <HASHFUNCTION> around. A working python implementation is literally 12 lines long.
Now if you don't have a SHA1 implementation in your programming language, that's a different problem.
Huh, strange then, I really didn't find it that hard. Then again, the EC2 docs are pretty good.
Just decided with my boss we're going to roll with a hybrid approach. Spent too much time reading through all these standards and not enough time thinking and coding.
Now if you don't have a SHA1 implementation in your programming language, that's a different problem.