I've been using the following script for signing GCS urls successfully for some time now.
It's basically just a wrapper around the python requests module that adds a signature to the url based on the provisioned private key.
md5_digest = base64.b64encode(hashlib.md5(data).digest())
base_url, query_params = self._MakeUrl('PUT', path, content_type,
md5_digest)
headers = {}
headers['Content-Type'] = content_type
headers['Content-Length'] = str(len(data))
headers['Content-MD5'] = md5_digest
return self.session.put(base_url, params=query_params, headers=headers,
data=data)
I used a service account with the p12 key converted to pem and was able to store and fetch resources.
A few days ago (December 2015), it stopped working and returns the following error from the python requests module:
requests.exceptions.SSLError: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Disabling the request verification helped me overcome the issue, but it's not a valid solution.
self.session.verify = False
Any ideas for what could be causing this issue? What could have triggered this now?
Thanks