鍍金池/ 問(wèn)答/iOS/ 自己做的https證書 在iOS上請(qǐng)求https 報(bào)錯(cuò) 怎么能越過(guò)SSL證書驗(yàn)證

自己做的https證書 在iOS上請(qǐng)求https 報(bào)錯(cuò) 怎么能越過(guò)SSL證書驗(yàn)證

報(bào)錯(cuò)為 NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
還有這個(gè)錯(cuò)誤 CFNetwork SSLHandshake failed (-9824)
代碼如下

  NSURL *url = [NSURL URLWithString:@"https://booking.cn.fcm.travel/img/200049324/144799957714318319/20151120140610983315.png"];
    
  UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];

  UIImageView *image1 = [[UIImageView alloc] init];
  image1.frame= CGRectMake(10, 10, 100, 100);
  image1.image=image;
    
  [self.view addSubview:image1];

下面的操作是不管用的
info.plist加上這一段,右鍵 info.plist -> open as -> source code
用代碼加

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
回答
編輯回答
乖乖噠

1.自簽名證書不被信任,可以實(shí)現(xiàn)conection代理,忽略證書,實(shí)現(xiàn)比較麻煩
2.你的服務(wù)器,應(yīng)該是設(shè)置了只支持https請(qǐng)求,可以設(shè)置同時(shí)支持兩個(gè)協(xié)議

如果是自建證書,沒(méi)有經(jīng)過(guò)權(quán)威機(jī)構(gòu)認(rèn)證的證書,那么需要將NSAllowsArbitraryLoads設(shè)置為YES才能通過(guò)。NSAllowsArbitraryLoads為YES,以前的HTTP請(qǐng)求也能通過(guò)。->現(xiàn)在是沒(méi)有http協(xié)議的請(qǐng)求
2018年2月10日 15:56
編輯回答
綰青絲

圖片描述

升級(jí)xcode7.1試試看,有個(gè)選項(xiàng)YES。。。。

2018年1月8日 05:23
編輯回答
故人嘆

AppDelegate.m

@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES;
}
@end

如果是 XCODE 7 以上的版本需要 plist 需要加上

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
2017年10月25日 06:23
編輯回答
糖果果

買一個(gè)SSL證書。自定義的是不會(huì)通過(guò)的,參考萬(wàn)惡的12306.
目前沃通的免費(fèi)SSL無(wú)法通過(guò)Android和IOS的認(rèn)證。
用付費(fèi)的吧,用最便宜的RapidSSL就行了。一年幾十塊。

2018年1月6日 03:11
編輯回答
九年囚

注意蘋果會(huì)不定期更新受信CA廠商列表,最新的IOS11信任的CA證書廠商參考蘋果官網(wǎng)通行:https://support.apple.com/zh-...。顯然部分免費(fèi)的SSL已經(jīng)不受信任了,所以在未來(lái)開(kāi)發(fā)時(shí)盡量避免尋求免費(fèi)證書,避免蘋果方面因證書問(wèn)題給app帶來(lái)的損失
參考DigiCert、Symantec、GeoTrust 、Thawte、Comodo、RapidSSL、Certum等多種品牌證書均在蘋果的信任列表中,由低到高最低¥39元PositiveSSL和30天免費(fèi)試用的RapidSSL,詳情參考價(jià)目表:
https://www.infinisign.com/pr...

2017年5月26日 23:58
編輯回答
伐木累

若若問(wèn)樓主,這個(gè)問(wèn)題解決了么?訪問(wèn)自建證書報(bào)SSL錯(cuò)誤。

2018年9月12日 19:54