def v2_sign(self, verb, params): #TODO: Now this assumes path is always '/'. stringToSign = verb + '\n' + urlparse.urlsplit(self._endpoint)[1] + '\n/\n' stringToSign += '&'.join(urllib.quote(misc.to_bytes(k), safe='~') \ + '=' + urllib.quote(misc.to_bytes(v), safe='~') \ for k, v in sorted(params.iteritems())) return base64.b64encode(hmac.new(misc.to_bytes(self._secretkey), misc.to_bytes(stringToSign), hashlib.sha256).digest())
def v2_sign(self, verb, params): #TODO: Now this assumes path is always '/'. stringToSign = verb + '\n' + urllib.parse.urlsplit(self._endpoint)[1] + '\n/\n' stringToSign += '&'.join(urllib.parse.quote(misc.to_bytes(k), safe='~') \ + '=' + urllib.parse.quote(misc.to_bytes(v), safe='~') \ for k, v in sorted(params.items())) return base64.b64encode(hmac.new(misc.to_bytes(self._secretkey), misc.to_bytes(stringToSign), hashlib.sha256).digest())
def _construct_post_data(self, inParams, verb=HTTP_POST): data = dict(inParams) data[u'SignatureVersion'] = self._signature_version data[u'Version'] = self._api_version data[u'AWSAccessKeyId'] = self._accessKey data[u'Timestamp'] = datetime.utcnow().isoformat() data[u'SignatureMethod'] = u'HmacSHA256' data[u'ContentType'] = u'JSON' data[u'Signature'] = self._signer.sign(verb, data) return misc.to_bytes('&'.join(urllib.quote(misc.to_bytes(k)) + '=' \ + urllib.quote(misc.to_bytes(v)) \ for k, v in data.iteritems()))
def _construct_post_data(self, inParams, verb=HTTP_POST): data = dict(inParams) data['SignatureVersion'] = self._signature_version data['Version'] = self._api_version data['AWSAccessKeyId'] = self._accessKey data['Timestamp'] = datetime.utcnow().isoformat() data['SignatureMethod'] = 'HmacSHA256' data['ContentType'] = 'JSON' data['Signature'] = self._signer.sign(verb, data) return misc.to_bytes('&'.join(urllib.parse.quote(misc.to_bytes(k)) + '=' \ + urllib.parse.quote(misc.to_bytes(v)) \ for k, v in data.items()))
def _construct_post_data(self, inParams, verb=HTTP_POST): data = dict(inParams) data["SignatureVersion"] = self._signature_version data["Version"] = self._api_version data["AWSAccessKeyId"] = self._accessKey data["Timestamp"] = datetime.utcnow().isoformat() data["SignatureMethod"] = "HmacSHA256" data["ContentType"] = "JSON" data["Signature"] = self._signer.sign(verb, data) return misc.to_bytes( "&".join( urllib.parse.quote(misc.to_bytes(k)) + "=" + urllib.parse.quote(misc.to_bytes(v)) for k, v in data.items() ) )
def _construct_get_url(self, inParams, verb=HTTP_GET): ''' Construct AWS Query Get url ''' params = dict(inParams) params[u'SignatureVersion'] = self._signature_version params[u'Version'] = self._api_version params[u'AWSAccessKeyId'] = self._accessKey params[u'Timestamp'] = datetime.utcnow().isoformat() params[u'SignatureMethod'] = u'HmacSHA256' params[u'ContentType'] = u'JSON' params[u'Signature'] = self._signer.sign(verb, params) host = self._endpoint if self._endpoint.endswith(u'/') else self._endpoint + u'/' return misc.to_bytes(host) + '?' + '&'.join\ (urllib.quote(misc.to_bytes(k)) + '=' + urllib.quote(misc.to_bytes(v)) \ for k, v in params.iteritems())
def _construct_get_url(self, inParams, verb=HTTP_GET): ''' Construct AWS Query Get url ''' params = dict(inParams) params['SignatureVersion'] = self._signature_version params['Version'] = self._api_version params['AWSAccessKeyId'] = self._accessKey params['Timestamp'] = datetime.utcnow().isoformat() params['SignatureMethod'] = 'HmacSHA256' params['ContentType'] = 'JSON' params['Signature'] = self._signer.sign(verb, params) host = self._endpoint if self._endpoint.endswith('/') else self._endpoint + '/' return misc.to_bytes(host) + '?' + '&'.join\ (urllib.parse.quote(misc.to_bytes(k)) + '=' + urllib.parse.quote(misc.to_bytes(v)) \ for k, v in params.items())
def _construct_get_url(self, inParams, verb=HTTP_GET): """ Construct AWS Query Get url """ params = dict(inParams) params["SignatureVersion"] = self._signature_version params["Version"] = self._api_version params["AWSAccessKeyId"] = self._accessKey params["Timestamp"] = datetime.utcnow().isoformat() params["SignatureMethod"] = "HmacSHA256" params["ContentType"] = "JSON" params["Signature"] = self._signer.sign(verb, params) host = self._endpoint if self._endpoint.endswith("/") else self._endpoint + "/" return ( misc.to_bytes(host) + "?" + "&".join( urllib.parse.quote(misc.to_bytes(k)) + "=" + urllib.parse.quote(misc.to_bytes(v)) for k, v in params.items() ) )