签名连接到S3时不匹配

时间:2015-05-23 04:04:08

标签: java amazon-web-services amazon-s3

我已经编写了这个最简单的代码来连接S3 -

String accessKey = "somekey";
String secretKey = "somesecret";

AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 conn = new AmazonS3Client(credentials);
conn.setEndpoint("advenio-ireland.s3.amazonaws.com");

List<Bucket> buckets = conn.listBuckets();
for (Bucket bucket : buckets) {
    System.out.println(bucket.getName() + "\t" +
        StringUtils.fromDate(bucket.getCreationDate()));
}

我低于错误 -

  

捕获了一个AmazonServiceException,这意味着您的请求已成功   Amazon S3,但由于某种原因被拒绝并出现错误响应。   错误消息:我们计算的请求签名不匹配   你提供的签名。检查您的密钥和签名方法。

     

HTTP状态代码:403
  AWS错误代码:SignatureDoesNotMatch
  错误类型:客户端
  请求ID:396D5E93F8D827DE

我能够通过S3浏览器使用相同的访问密钥和密钥进行连接,但通过代码无法正常工作!我使用的是AWS-SDK 1.8.7版。

请说明错误发生原因的原因。

0 个答案:

没有答案