検索

ホームページ  >  に質問  >  本文

自己做的https证书 在iOS上请求https 报错 怎么能越过SSL证书验证

报错为 NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
还有这个错误 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>
黄舟黄舟2773日前715

全員に返信(5)返信します

  • PHP中文网

    PHP中文网2017-04-17 17:11:21

    SSL 証明書を購入します。カスタマイズされたものは通過しません。邪悪な 12306 を参照してください。
    現在、WoSign の無料 SSL は Android および IOS の認証を通過できません。
    有料のものを使用し、最も安価な RapidSSL を使用してください。年間数十ドル。

    返事
    0
  • PHPz

    PHPz2017-04-17 17:11:21

    xcode7.1 にアップグレードしてみてください。「はい」というオプションがあります。 。 。 。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:11:21

    AppDelegate.m

    リーリー

    XCODE 7 以降の場合は plist を追加する必要があります

    リーリー

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 17:11:21

    1. 自己署名証明書は信頼されません。接続プロキシを実装して、証明書を無視することもできます。
    2. サーバーは https リクエストのみをサポートするように設定する必要があります。 2 つのプロトコルを同時にサポートする

    リーリー

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 17:11:21

    自己署名 SSL 証明書を、startssl、WoSign 無料 SSL などのブラウザで信頼できる無料 SSL 証明書に置き換えることができます。暗号化しましょう

    返事
    0
  • キャンセル返事