我正在尝试使用AFNetworking 3.1连接到具有自签名SSL证书的服务器。我找到了几个解决方案,但它们都不适合我。我将固定模式设置为无,允许无效的证书并禁用域名验证。
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
manager = [[AFURLSessionManager alloc] initWithSessionConfiguration: configuration];
AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode: AFSSLPinningModeNone];
[securityPolicy setAllowInvalidCertificates: YES];
[securityPolicy setValidatesDomainName: NO];
[manager setSecurityPolicy: securityPolicy];
在我的plist中,我在App Transport Security Settings中将Allow Arbitrary Loads设置为YES,但是当我尝试连接时出现此错误:
An SSL error has occurred and a secure connection to the server cannot be made.
我无法向NSExceptionDomains添加任何内容,因为服务器地址可以从应用程序进行配置。另外(我不知道这可能是个问题)我使用的是服务器的IP地址,而不是域名。
有人遇到同样的问题并找到解决方案吗?