Amazon S3错误-无法为SSL/TLS安全通道建立信任关系

本文关键字:安全 TLS 通道 建立 关系 信任 SSL 错误 S3 Amazon | 更新日期: 2023-09-27 18:25:25

我使用的是Amazon.NET SDK,从我的ASP.NET MVC应用程序添加文件在我的开发机器上运行良好,当我部署应用程序时(在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();
}

我知道欧盟的水桶装不下。,正如在这个问题上看到的,但我使用的是美国标准桶。再说一遍,这里的问题是它在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...

任何指针都将不胜感激。

Amazon S3错误-无法为SSL/TLS安全通道建立信任关系

我无法在本地或AppHarbor上重现此问题。我正在使用类似的代码、bucket名称(在美国)和最新的AWS SDK。

我尝试降级到版本1.3.4.1,但出现了与您描述的错误类似的错误("根据验证过程,远程证书无效")。

升级到最新版本的AWS SDK for.NET(当前为1.4.3.0)可能是解决方案。