Converting from a byte array to the required binary data should be simple:
kDate = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, '20130618', 'AWS4' + kSecret); kDate = Utilities.newBlob(kDate).getDataAsString(); kRegion = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, 'eu-west-1', kDate);
BUT you should look at this open problem in bugtracker - there may be some problems in the conversion.
perhaps you could try creating a String.fromCharCode () loop and avoid negative numbers:
kDateB = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, '20130618', 'AWS4' + kSecret); kDate = ''; for (var i=0; i<kDateB.length; i++) kDate += String.fromCharCode(kDateB[i]<0?256+kDateB[i]:0+kDateB[i]); kRegion = Utilities.computeHmacSignature(Utilities.MacAlgorithm.HMAC_SHA_256, 'eu-west-1', kDate);
source share