Insight Horizon
politics /

CloudFront - Boto3 1.34.75 documentation

import datetimefrom cryptography.hazmat.backends import default_backendfrom cryptography.hazmat.primitives import hashesfrom cryptography.hazmat.primitives import serializationfrom cryptography.hazmat.primitives.asymmetric import paddingfrom botocore.signers import CloudFrontSignerdef rsa_signer(message): with open('path/to/key.pem', 'rb') as key_file: private_key = serialization.load_pem_private_key( key_file.read(), password=None, backend=default_backend() ) return private_key.sign(message, padding.PKCS1v15(), hashes.SHA1())key_id = 'AKIAIOSFODNN7EXAMPLE'url = 'expire_date = datetime.datetime(2017, 1, 1)cloudfront_signer = CloudFrontSigner(key_id, rsa_signer)# Create a signed url that will be valid until the specific expiry date# provided using a canned policy.signed_url = cloudfront_signer.generate_presigned_url( url, date_less_than=expire_date)print(signed_url)