gpt4 book ai didi

objective-c - iOS - (kCFStreamErrorDomainSSL, -9813)

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

当连接到客户端的服务器时,我收到(kCFStreamErrorDomainSSL, -9813)

客户端的服务器有一个我无法更改的自签名证书。该应用程序使用 AFNetworking 3.x。我尝试了以下但似乎没有任何效果。

如果有人能帮助我,我将不胜感激。

信息.plist:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>

<key>NSExceptionDomains</key>
<dict>
<key> *** CLIENT HOSTNAME *** </key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
<key>NSTemporaryExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>

</dict>

AFNetworking 连接管理器:

AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

#ifdef USE_SELF_SIGNED_CERT_RULES
manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
manager.securityPolicy.allowInvalidCertificates = YES;
manager.securityPolicy.validatesDomainName = YES;
#endif

最佳答案

我遇到了同样的问题。我尝试了您的解决方案,但没有奏效。设置 allowInvalidCertificatesvalidatesDomainNameAFSSLPinningModeCertificate 没有解决我的问题。经过大量谷歌搜索后,我看到了 AFSecurityPolicy 这个类的结构。

这个类中有一个函数

- (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust
forDomain:(nullable NSString *)domain;

您必须继承AFSecurityPolicy 并在其实现中返回YES。然后你就可以连接到你的服务器了。

我的客户端服务器也是自签名的。

AFSecurityPolicy 的设置属性没有解决问题,我想知道为什么。

关于objective-c - iOS - (kCFStreamErrorDomainSSL, -9813),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38719075/

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