gpt4 book ai didi

ssl - AWS S3.NET 开发工具包

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:47 25 4
gpt4 key购买 nike

我正在使用 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对如何处理这个问题有一些建议。”

我试过以下方法:

  1. Reference

    mcs am1.cs

    mono am1.exe https://www.amazonaws.com

    当我运行编译后的 am1.exe 时,它​​给了我很多异常错误

  2. 使用 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”

我整天都在研究这个问题,但无法解决,希望有人能帮助我。

最佳答案

0x80092012 发生在无法验证吊销证书时。

从 2.8 版开始,Mono 将默认为 X509RevocationMode.NoCheck,除非设置了 MONO_X509_REVOCATION_MODE 环境变量(在这种情况下,它将检查证书存储区内的 CRL)。

我不知道你的 Unity3D wrt Mono 版本有多新。但是你应该能够使用 ICertificatePolicyServicePointManager.ServerCertificateValidationCallback解决此问题。如果 0x80092012 错误代码来自颁发给 Amazon 的证书,请忽略它。

关于ssl - AWS S3.NET 开发工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com