in ec2stack/helpers.py [0:0]
def generate_signature(data=None, method=None, host=None, path=None):
"""
Generates a signature.
@param data: Data of the request.
@param method: HTTP method used.
@param host: HTTP post.
@param path: HTTP hort.
@return: A signature.
"""
if data is None:
data = request.form
signature_type = get('SignatureMethod', data)
secretkey = get_secretkey(data)
request_string = _get_request_string(data, method, host, path)
if signature_type == 'HmacSHA1':
digestmod = hashlib.sha1
else:
digestmod = hashlib.sha256
signature = hmac.new(
key=secretkey,
msg=bytes(request_string),
digestmod=digestmod
).digest()
signature = b64encode(signature)
return signature