Я использую Amazon AWS .NET SDK v1.2.1.Amazon S3 выпускает SSL для работы с C# sdk
Следующий код генерирует исключение после проваливать DNS поиск для myBucket.more.https
что явно не то, что он должен искать ...
AmazonS3Config S3Config = new AmazonS3Config()
{
ServiceURL = "https://s3.amazonaws.com",
CommunicationProtocol = Amazon.S3.Model.Protocol.HTTPS,
};
using (AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey,secretKey, S3Config))
{
PutObjectRequest request = new PutObjectRequest();
using (MemoryStream ms = new MemoryStream(inputBytes))
{
request.WithBucketName("myBucket.more")
.WithKey(output.Name)
.WithInputStream(ms);
using (S3Response response = client.PutObject(request))
{
Log.Message("File Sent: " + output.Name);
}
}
}
Если удалить https://
из передней части ServiceURL оно проливает веб-исключение с:
"The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."
Так как я полагаю, чтобы получить SSL работает?
Единственный способ мне удалось до сих пор со следующим, который не защищен:
AmazonS3Config S3Config = new AmazonS3Config()
{
ServiceURL = "s3.amazonaws.com",
CommunicationProtocol = Amazon.S3.Model.Protocol.HTTP,
};
UPDATE
Если я не передать пользовательскую S3Config в CreateAmazonS3Client
, его по-прежнему неудачу с:
"The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."
"The remote certificate is invalid according to the validation procedure."
Ведро было создано несколько часов назад и отлично работает, если отключить SSL. С настройкой по умолчанию я получаю: «Основное соединение было закрыто: не удалось установить доверительные отношения для защищенного канала SSL/TLS. Удаленный сертификат недействителен в соответствии с процедурой проверки». – Tim
, хотя я думаю, что все еще может быть до DNS, он должен соответствовать сертификату! – Tim
@Jim - Вы пробовали смотреть на запросы, проходящие через провод с помощью инструмента, такого как скрипач? –