相关疑难解决方法(0)

如何使用NSURLConnection连接SSL以获取不受信任的证书?

我有以下简单的代码连接到SSL网页

NSMutableURLRequest *urlRequest=[NSMutableURLRequest requestWithURL:url];
[ NSURLConnection sendSynchronousRequest: urlRequest returningResponse: nil error: &error ];
Run Code Online (Sandbox Code Playgroud)

如果证书是自签名的,那么它会出错.Error Domain=NSURLErrorDomain Code=-1202 UserInfo=0xd29930 "untrusted server certificate".有没有办法将它设置为接受连接(就像在浏览器中你可以按接受)或绕过它的方法?

https objective-c ssl-certificate ios app-transport-security

299
推荐指数
9
解决办法
26万
查看次数

Domain = NSURLErrorDomain代码1202

嗨,我收到以下错误:

错误域= NSURLErrorDomain代码= -1202 \"此服务器的证书无效.您可能正在连接到假装为"server-prod.name-cloud.com"的服务器,这可能会使您的机密信息面临风险. \"UserInfo = {NSErrorFailingURLStringKey = https://server-prod.name-cloud.com/v3/project/session/926B9E6BE31B /,NSLocalizedRecoverySuggestion =您是否还要连接到服务器?,_ kCFStreamErrorDomainKey = 3,NSErrorFailingURLKey = https ://server-prod.name-cloud.com/v3/project/session/926B9E6BE31B /,_ kCFStreamErrorCodeKey = -9843,NSLocalizedDescription =此服务器的证书无效.您可能正在连接到假装为"server-prod.name-cloud.com"的服务器,这可能会使您的机密信息面临风险.}

我阅读了所有相关文档,我们应用了"常见故障"部分中的所有要求.

更多细节:

  • 仅从德国收到的错误(过去2W中来自意大利的4次除外)
  • 它在室内不可再现
  • 最终经过大量的重试后,上传将被抛出
  • 这是在iOS 10.xx和9.xx中获得的展位
  • 我使用2016-08 SSL安全策略的亚马逊服务器,所以根据苹果它应该没问题

在我使用的应用程序中:

<key>NSAppTransportSecurity</key>
   <dict>
      <key>NSAllowsArbitraryLoads</key>
   <true/>
</dict>
Run Code Online (Sandbox Code Playgroud)

注意 - 在生产中我总是使用HTTP,我留下NSAllowsArbitraryLoads,因为一些离岸测试人员可以将路由切换到HTTP进行调试.

ssl amazon-web-services ios nsurlsession tls1.2

15
推荐指数
1
解决办法
1万
查看次数

iPhone TrustStore CA证书

你们是否有任何线索如何改变内容Security.framework/TrustStore.sqlite3.似乎iPhone使用它来存储可信的CA证书.我真的希望我的iPod touch能够信任我的自定义证书.除此之外,你是否有人知道编辑sqlite3数据库文件的应用程序(win32)(除了sqliteman,这个总是为我崩溃).

iphone certificate x509

9
推荐指数
3
解决办法
3万
查看次数