AWS signature verification routines
Project description
This library provides signature verification for requests made to an AWS service. Typically, this is used to provide mock interfaces for AWS services or to rewrite AWS requests through a proxy host.
The current source tree can be found on GitHub.
Documentation is available at docs.ionosphere.io.
Currently only SigV4 and SigV4S3 (the S3 variant of SigV4) are supported.
Example Usage
>>> import awssig >>> access_key = "AKIDEXAMPLE" >>> secret_key = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" >>> key_mapping = { access_key: secret_key } >>> v = awssig.AWSSigV4Verifier( ... request_method="GET", ... uri_path="/", ... query_string="a=foo&b=foo", ... headers={ ... "date": ["Mon, 09 Sep 2011 23:36:00 GMT"], ... "host": ["host.foo.com"], ... "authorization": [( ... "AWS4-HMAC-SHA256 " ... "Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, " ... "SignedHeaders=date;host, " ... "Signature=0dc122f3b28b831ab48ba65cb47300de53fbe91b577fe113edac383730254a3b")], ... }, ... body=b"", ... region="us-east-1", ... service="host", ... key_mapping=key_mapping, ... timestamp_mismatch=None) >>> try: ... v.verify() ... print("ok") ... except awssig.InvalidSignatureError as e: ... print("error: %s" % e) ok >>> v = awssig.AWSSigV4S3Verifier( ... request_method="POST", ... uri_path="/a//b/../c", ... headers={ ... "date": ["Mon, 09 Sep 2011 23:36:00 GMT"], ... "host": ["host.foo.com"], ... "authorization": [( ... "AWS4-HMAC-SHA256 " ... "Credential=AKIDEXAMPLE/20110909/us-east-1/host/aws4_request, " ... "SignedHeaders=date;host, " ... "Signature=6b8af5a1e94a59c511e47267ab0cbfa1783dc42861ab7f09e0dba62680da8b28")], ... "x-amz-content-sha256": ["UNSIGNED-PAYLOAD"], ... }, ... body=b"Hello world", ... region="us-east-1", ... service="host", ... key_mapping=key_mapping, ... timestamp_mismatch=None) >>> try: ... v.verify() ... print("ok") ... except awssig.InvalidSignatureError as e: ... print("error: %s" % e) ok
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
awssig-0.5.0.tar.gz
(13.4 kB
view details)
File details
Details for the file awssig-0.5.0.tar.gz
.
File metadata
- Download URL: awssig-0.5.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee7fa6c7d8b98f4bdee25779810ac8d6ab71ebb3023cb35b999d5ed1763533ff |
|
MD5 | ce252d3477edd5013984873a42fa9eaa |
|
BLAKE2b-256 | 75e3e91a6ff81b6547eae21cc38ca070c24b7b9b04fdbaefcd70832e5f8778df |