Repository navigation
Aws::CloudFront::Signer SHA1 digest is not supported on Fedora Linux #3313
Description
Activity
- addedbugThis issue is a bug.This issue is a bug.needs-triageThis issue or PR still needs to be triaged.This issue or PR still needs to be triaged.
on Oct 29, 2025 - addedinvestigatingIssue is being investigatedIssue is being investigatedand removedneeds-triageThis issue or PR still needs to be triaged.This issue or PR still needs to be triaged.
on Oct 29, 2025 Hi! Thanks for submitting this issue. I found a similar ticket that was reported for AWS SDK for PHP in May 2025: aws/aws-sdk-php#3116
It's interesting that SHA256 appears to work with CloudFront despite not being documented as supported. Please continue using the monkey patch for now. I'll need to verify with the service team on this and will follow up here.
I found another workaround that may be more useful for anyone looking for a solution, first export the environment variable:
export OPENSSL_ENABLE_SHA1_SIGNATURES=1https://fedoraproject.org/wiki/SHA1SignaturesGuidance
For package builds, you can export the OPENSSL_ENABLE_SHA1_SIGNATURES environment variable. Its value doesn't matter, the code only checks for its presence. Note that this environment variable is explicitly unsupported at runtime, and we're going to remove it without forewarning in a future version of OpenSSL on Fedora.
Don't use this environment variable to work around problems at runtime.
Following up on this. Which key (RSA or ECDSA) were you using for the above?
Following up on this. Which key (RSA or ECDSA) were you using for the above?
I was using RSA, thanks.
- addedfeature-requestA feature should be added or improved.A feature should be added or improved.and removedinvestigatingIssue is being investigatedIssue is being investigatedbugThis issue is a bug.This issue is a bug.
on May 29, 2026 Thank you for your patience on this. CloudFront launched SHA-256 support for signed URLs in April 2026, so we're now able to address this on the SDK side. We're re-categorizing this as a feature request and tracking the implementation internally.
We don't have a timeline to share yet as we're aligning on the implementation approach, but I'll circle back here once we're aligned and have an update.
- addedcross-sdkA feature that requires cross-sdk discussion.A feature that requires cross-sdk discussion.and removed
on Aug 10, 2026 - linked a pull request that will close this issuefeat: Add support for SHA256 in the CloudFront signers #3426
on Sep 21, 2026 This issue is now closed. Comments on closed issues are hard for our team to see.
If you need more assistance, please open a new issue that references this one.Today's release (https://rubygems.org/gems/aws-sdk-cloudfront) updates the CloudFront signer to accept
SHA256as an option when creating the signed URL or cookie. It's opt-in for backwards compatibility (default is stillSHA1), but that should unblock you from using the signer in an environment whereSHA1is not available:signer = Aws::CloudFront::UrlSigner.new( key_pair_id: 'MY_KEY_PAIR_ID', private_key_path: '/path/to/private.pem', hash_algorithm: 'SHA256' )
Describe the bug
The
Aws::CloudFront::Signerclass always uses the digest algorithm "SHA1",aws-sdk-ruby/gems/aws-sdk-cloudfront/lib/aws-sdk-cloudfront/signer.rb
Line 16 in 3919bcc
But this digest algorithm is unsupported since Fedora 41:
https://fedoraproject.org/wiki/Changes/OpenSSLDistrustSHA1SigVer
When using
Aws::CloudFront::Signeron Fedora, it results in:Changing the digest to SHA256 works for me, either by patching the aws-sdk-cloudfront gem or by overriding the class.
Regression Issue
Expected Behavior
Aws::CloudFront::Signeris compatible with a default Fedora installation without any monkey patching.Current Behavior
Results in the error:
Reproduction Steps
Using Fedora Linux:
Possible Solution
Additional Information/Context
No response
Gem name ('aws-sdk', 'aws-sdk-resources' or service gems like 'aws-sdk-s3') and its version
aws-sdk-cloudfront
Environment details (Version of Ruby, OS environment)
Fedora Linux, ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]