私は非常に単純なASIHTTPRequestをhttpsで送信しようとしています。私はvalidatesSecureCertificateフラグを設定しているが「NO」、私はまだ私の要求のための奇妙な応答を取得する:ASIHTTPRequest httpsリクエストとSSL
A connection failure occurred: SSL problem (Possible causes may include a bad/expired/self-signed certificate, clock set to wrong date)
を私は使用していたコードは、私はセキュリティ上の理由から、実際のパラメータを削除しています、非常に簡単です:
NSURL *url = [NSURL URLWithString:@"https://secured.cet.ac.il/KotarServices/getMyBooks.aspx?username=xxxxxxxx&password=xxxxx&packageid=x"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDidFailSelector:@selector(getMyBooksFailedWithError:)];
[request setDidFinishSelector:@selector(getMyBooksFinishedWithResult:)];
[request setDelegate:self];
[request setValidatesSecureCertificate:NO];
[request startAsynchronous];
深いコードを掘り下げてみると、オペレーティングシステムだけに関連するエラーコード "-9807"でエラーが発生することがわかりました。これは、私が使用しているサーバーとは関係ありません(SecureTransport.hこれを「無効な証明書チェーン」にマップします)。どのようにこの問題を克服するための任意のアイデア?前もって感謝します。
ありがとう、私は明日この最初の事を試してみましょう&それが助けられた場合はお知らせください – Stavash
残念ながら、これはトリックを行いません。それでも同じエラーコードが表示されます。とにかく努力してくれてありがとう – Stavash
アップデート:[sslProperties setObject:(NSString *)kCFBooleanTrue forKey:(NSString *)kCFStreamSSLAllowsExpiredRoots]を設定してこれを解決しました。 – Stavash