我正在使用 AFnetworking。我的应用程序网络服务器在 TLS 1.2 中。我想将证书固定添加到我的 iOS 应用程序。我的代码如下:
AFHTTPSessionManager *manager=[[AFHTTPSessionManager manager] initWithBaseURL:serviceURL];
NSSet *certificates = [AFSecurityPolicy certificatesInBundle:[NSBundle mainBundle]];
AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:certificates];
policy.validatesDomainName = YES;
policy.allowInvalidCertificates = YES;
opManager.securityPolicy = policy;
我的捆绑包中有有效的服务器证书,并且使用此代码,Web 服务工作正常。但是,当我尝试使用不正确的示例证书进行相同操作时,网络服务也在工作。我什至尝试在捆绑中没有证书,那个时候网络服务也工作正常。谁能解释一下?AppTransportSecurity 在我的应用程序中打开。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
</dict>