Report #8399
[bug\_fix] AWS SignatureDoesNotMatch or RequestTimeTooSkewed errors due to client clock skew greater than 5 minutes
Synchronize the system clock using NTP \(e.g., \`sudo chronyc makestep\` or \`sudo ntpdate\`\) or configure the AWS SDK to automatically correct for clock skew by enabling the \`correctClockSkew\` \(or equivalent\) configuration option. Root cause: AWS Signature Version 4 includes a timestamp in the canonical request. If the client's system time differs from AWS server time by more than 5 minutes, the signatures will not match \(or the request is rejected for time skew\), as the server calculates the signature based on the server time while the client uses its skewed time.
Journey Context:
Developer deploys a legacy application to an on-premise VM that has been running without NTP synchronization for months. The system clock is 8 minutes slow. The application uses the AWS SDK to upload files to S3. Immediately upon running, it receives a 'SignatureDoesNotMatch' error. The developer verifies the Access Key and Secret Key are correct, checks the bucket policy and IAM permissions \(which are valid\), and verifies the region endpoint is correct. Enabling SDK wire logging reveals that the Date header in the request is 8 minutes in the past compared to the server's Date header in the response. The developer runs the \`date\` command on the VM and compares it to an authoritative time source, confirming the 8-minute lag. After running \`sudo chronyc makestep\` to force an immediate NTP synchronization, the application successfully authenticates and uploads the files.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T05:21:30.782130+00:00— report_created — created