This is the hmac function written by a previous dev that worked w/ the stravia oath....
<cffunction name = "HmacSHA1Encryption" returntype = "binary" access = "public" output = "false"
hint = "This Function create MAC encryption by passing Signature Key and Signaturestring(Messsage)">
<cfargument
name = "signatureKey" type = "string" required = "true"
hint = "Accepts Signature Key"/>
<cfargument
name = "signatureString" type = "string" required="true"
hint = "Accepts Signature String/Secrete Message"/>
<cfscript>
//Converting String to Binary Representation
local.binaryMessage = charsetDecode(arguments.signatureString, "utf-8");
local.binaryKey = charsetDecode(arguments.signatureKey, "utf-8");
//Creating java objects for secret key : used to construct a SecretKey from a byte array
local.secretKey = createObject("java","javax.crypto.spec.SecretKeySpec");
/*Creating java objects for Massage Auhentication Code (MAC) :
check the integrity of information transmitted based on a secret key */
local.secretMac = createObject("java","javax.crypto.Mac");
//Initialize Secret Key with our binary Key created above using HMAC-SH1 ALGO
local.secretKey = local.secretKey.init(local.binaryKey,"HmacSHA1");
//Get an instance of our MAC generator for the given hashing algorithm.
local.secretMac = local.secretMac.getInstance(local.secretKey.getAlgorithm());
//Initialize the Mac with our secret key.
local.secretMac.init(local.secretKey);
//MAC Processing the given byte with our secret Message.
local.secretMac.update(local.binaryMessage);
//Calling this method to Finish the MAC operation
return local.secretMac.doFinal();
</cfscript>
</cffunction>