unity editor 使用 aws s3 sdk
来源:互联网 发布:怎么看mac地址 编辑:程序博客网 时间:2024/05/17 21:45
在unity Editor 编码配套工具时使用到aws 的 s3。在.net 平台下充分测试后 将代码转至unity 中发现 无法与服务器连上
环境: unity 5.1.3f
awsDll :awssdk.core.3.3.17.9 和 awssdk.s3.3.3.11
捕获异常时发现
System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in <filename unknown>:0 at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in <filename unknown>:0at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process ()at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in <filename unknown>:0at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 --- End of inner exception stack trace --- at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.HttpRequest.GetResponse () [0x00000] in <filename unknown>:0 "" at Amazon.Runtime.Internal.WebExceptionHandler.HandleException (IExecutionContext executionContext, System.Net.WebException exception) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.ExceptionHandler`1[T].Handle (IExecutionContext executionContext, System.Exception exception) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.ErrorHandler.ProcessException (IExecutionContext executionContext, System.Exception exception) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.ErrorHandler.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.PipelineHandler.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.CallbackHandler.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.PipelineHandler.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.Signer.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.PipelineHandler.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.CredentialsRetriever.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.PipelineHandler.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 at Amazon.Runtime.Internal.RetryHandler.InvokeSync (IExecutionContext executionContext) [0x00000] in <filename unknown>:0 "
ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallback;protected bool CertificateValidationCallback(System.Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { bool isOk = true; // If there are errors in the certificate chain, // look at each error to determine the cause. if (sslPolicyErrors != SslPolicyErrors.None) { for (int i = 0; i < chain.ChainStatus.Length; i++) { if (chain.ChainStatus[i].Status == X509ChainStatusFlags.RevocationStatusUnknown) { continue; } chain.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain; chain.ChainPolicy.RevocationMode = X509RevocationMode.Online; chain.ChainPolicy.UrlRetrievalTimeout = new TimeSpan(0, 1, 0); chain.ChainPolicy.VerificationFlags = X509VerificationFlags.AllFlags; bool chainIsValid = chain.Build((X509Certificate2)certificate); if (!chainIsValid) { isOk = false; break; } } } return isOk; }
毕
阅读全文
0 0
- unity editor 使用 aws s3 sdk
- AWS S3存储服务SDK
- 【golang】aws s3 go sdk
- AWS PHP SDK S3 实例
- AWS CLI使用s3
- AWS S3的使用
- 初次使用AWS S3服务
- AWS s3 python sdk code examples
- AWS S3 resource访问:使用 S3 URI 地址格式
- Amazon AWS S3 for PHP 的API使用测试
- AWS之S3实践
- AWS S3服务 笔记
- aws s3 (1)
- AWS之S3实践
- 一说就懂的 AWS S3
- aws命令行访问s3
- AWS EC2/S3命令记录
- AWS s3 V4签名算法
- python自带的sum()函数和numpy库中的sum()函数的区别
- Ant中build.xml详细部署
- Java多线程(九):Condition-线程通信更高效的方式
- Odoo只读字段在onchange方法中被改变后不会保存到数据库
- A
- unity editor 使用 aws s3 sdk
- 深入理解ios开发中的bitcode功能
- iOS开发之如何通过路由方式进行页面间的跳转
- 虚拟机/VMware Tools安装
- VC 回调函数及使用方法
- HDU
- 2017-9-17 PAT考试记
- 和空姐一起聊聊装饰模式
- ajax学习笔记