【问题标题】:Amazon S3 error - Could not establish trust relationship for the SSL/TLS secure channelAmazon S3 错误 - 无法为 SSL/TLS 安全通道建立信任关系
【发布时间】:2012-03-12 05:36:30
【问题描述】:

我正在使用 Amazon .NET SDK,当我部署应用程序时(在 AppHarbor 上) 我收到以下错误:

无法为 SSL/TLS 安全通道建立信任关系。

这是我正在使用的代码:

var config = new Amazon.S3.AmazonS3Config();
config.CommunicationProtocol = Amazon.S3.Model.Protocol.HTTPS;

using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client("key", "secret", config))
{
  var putRequest = new Amazon.S3.Model.PutObjectRequest();
  putRequest.BucketName = "media.bunkerapp.com";
  putRequest.CannedACL = Amazon.S3.Model.S3CannedACL.PublicRead;
  putRequest.ContentType = file.ContentType;
  putRequest.InputStream = file.InputStream;
  putRequest.Key = "mykey";

  Amazon.S3.Model.S3Response response = client.PutObject(putRequest);
  response.Dispose();
}

我知道欧盟桶不能包含 ., as seen on this question 但我使用的是美国标准桶。再一次,这里的问题是它不适用于 AppHarbor。我试图回滚到一个 1 实例应用程序,但它抛出了同样的错误,这里是堆栈跟踪:

  at Amazon.S3.AmazonS3Client.ProcessRequestError(String actionName, HttpWebRequest request, WebException we, HttpWebResponse errorResponse, String requestAddr, WebHeaderCollection& respHdrs, Type t)
   at Amazon.S3.AmazonS3Client.Invoke[T](S3Request userRequest)
   at Amazon.S3.AmazonS3Client.PutObject(PutObjectRequest request)
   at MyController...

任何指针将不胜感激。

【问题讨论】:

    标签: c# asp.net-mvc amazon-s3 appharbor


    【解决方案1】:

    我无法在本地或 AppHarbor 上重现此问题。我正在使用类似的代码、存储桶名称(在美国)和最新的 AWS 开发工具包。

    我尝试降级到版本1.3.4.1 并收到与您描述的错误类似的错误(“根据验证程序,远程证书无效”)。

    升级到最新版本的适用于 .NET 的 AWS 开发工具包(当前为 1.4.3.0)可能是解决方案。

    【讨论】:

    • 谢谢,我大约两周前下载了SDK(版本1.4.2.0),刚刚重新下载了最新版本,它工作正常。
    猜你喜欢
    • 2014-07-17
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2016-08-30
    相关资源
    最近更新 更多