【发布时间】:2011-11-10 12:49:54
【问题描述】:
我正在使用 Unity3D,并尝试使用 S3 .NET SDK。但不断出现以下错误:
TlsException: Invalid certificate received from server. Error code: 0xffffffff80092012
Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates)
Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 ()
我的 javascript 代码:
function Start()
{
client = Amazon.AWSClientFactory.CreateAmazonS3Client(Conf.AWSAccessKey, Conf.AWSSecretKey);
var response : ListBucketsResponse = client.ListBuckets();
}
找了一整天,大概找到了原因:
事实证明,Mono 安装时没有根证书,因此默认情况下,Mono 拒绝信任任何受 SSL 保护的 Web 服务。 The Mono Security FAQ 有几个关于如何处理问题的建议。”
我尝试了以下方法:
-
mcs am1.cs mono am1.exe https://www.amazonaws.com当我运行编译好的 am1.exe 时,它给了我很多异常错误
-
使用 mozroots.exe 工具下载并安装所有 Mozilla 的根证书。
C:\Program Files (x86)\Mono-2.6.7\lib\mono\1.0>mozroots --import --machine --sync虽然输出表明证书已成功导入。但是在Unity3D中还是提示“Invalid certificate received from server”
我整天都在研究这个问题,但无法解决,希望有人能帮助我。
【问题讨论】:
标签: ssl mono amazon-s3 amazon-web-services unity3d