AWS Java SDK - AWS authentication requires a valid Date or x-amz-date header

18,709

Solution 1

This is caused by a bug between JodaTime and versions of Java greater then 1.8u60. Upgrading to JodaTime version 2.8.1 or later solves the issue. See the following Github issues for reference.

https://github.com/aws/aws-sdk-java/issues/484 https://github.com/aws/aws-sdk-java/issues/444

Solution 2

As far as I can see, there are three solutions to this issue:

  • upgrade joda time
  • upgrade the AWS java SDK
  • downgrade java to a version less than 1.8u60 (java7 seems to work fine)

Solution 3

Update your AWS Java SDK to 1.10.1 or later

Solution 4

I faced while using presto. The problem is with java version jdk1.8.0_60 greater downgrade it to jdk1.8.0_45 will solve the problem

Solution 5

i have faced same problem.i have solved now.only thing is that java 1.8u60+ does not support aws sdk 1.10.10 so you can just update aws sdk version 1.11.52 ..i mean latest version and it resolved it.

Also please look out for the conflicts in the dependency tree, when you upgrade the versions. In my case there was a conflict with the httpclient after upgrading aws sdk version.

Share:
18,709
Admin
Author by

Admin

Updated on June 10, 2022

Comments

  • Admin
    Admin almost 2 years

    Getting the following exception when using the AWS SDK for Java and Java 1.8u60+.

    com.amazonaws.services.s3.model.AmazonS3Exception: AWS authentication requires a valid Date or x-amz-date header (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 41C359C079CBAFCF)
        at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1182) ~[aws-java-sdk-core-1.10.10.jar:na]
        at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:770) ~[aws-java-sdk-core-1.10.10.jar:na]
        at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489) ~[aws-java-sdk-core-1.10.10.jar:na]
        at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310) ~[aws-java-sdk-core-1.10.10.jar:na]
        at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3608) ~[aws-java-sdk-s3-1.10.10.jar:na]
        at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3561) ~[aws-java-sdk-s3-1.10.10.jar:na]
        at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:647) ~[aws-java-sdk-s3-1.10.10.jar:na]
        at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:632) ~[aws-java-sdk-s3-1.10.10.jar:na]
    
  • Daniel Gruszczyk
    Daniel Gruszczyk over 8 years
    Why is this not an accepted answer? Anyway, thanks man, saved me a lot of time!
  • user3041539
    user3041539 over 7 years
    downgrading JDK is not the answer. better update Joda as suggested above - via updating AWS SDK or explicitly
  • Charles PHAM
    Charles PHAM about 6 years
    I updated AWS Java SDK to 1.10.10 but still got this error.
  • pstanton
    pstanton about 6 years
    is there a newer java update that fixes the issue? is this a bug with java or is this always going to break with future java releases?