2013-08-16 20 views
6

Amazon S3バケットに保存されている画像を表示しようとしています。 URLはhttps://s3.amazon.com/..../test.jpgのようなものです。 iPhoneのシミュレータでこれを行うと、画像が正しく表示されます。私は、実際のデバイス自体にそれをテストしかし、もし、私が得続ける:「このサーバーの証明書は無効です。」 iPadでAmazon S3(HTTPS)から画像を読み込むときに、シミュレータでエラーが発生しない

エラードメイン= NSURLErrorDomainコード= -1202「この サーバー用の証明書が無効であるあなたが あるサーバに接続されることがあります。 「s3.amazonaws.com」のようなふりをして、あなたの機密情報である の情報を危険にさらす可能性があります。 UserInfo = 0x20007030 {NSErrorFailingURLStringKey = https://s3.amazonaws.com/.../test.jpeg、 NSLocalizedRecoverySuggestion =あなたはとにかくサーバー に接続したい? NSErrorFailingURLKey = https://s3.amazonaws.com/.../test.jpeg、 NSLocalizedDescription =このサーバの証明書が無効です。 が "s3.amazonaws.com"のようになり、機密情報を という危険にさらす可能性のあるサーバーに接続している可能性があります。NSUnderlyingError = 0x20014d40 "このサーバーの証明書は無効です。 にふりをしているサーバ「s3.amazonaws.com」 リスクであなたの機密情報を入れることができたこと。」、NSURLErrorFailingURLPeerTrustErrorKey =}

任意のアイデア?

ありがとうございます!

+0

ウェブブラウザでテストURLを読み込むとどうなりますか? –

+0

すべてうまくいきます! – abisson

答えて

12

私はS3から同じ証明書のエラーを取得し、NSURLConnectionDelegateにこれを加える発見された問題を修正:

-(void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge 
{ 
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust] && 
     [challenge.protectionSpace.host hasSuffix:@"example.com"]) 
    { 
     // accept the certificate anyway 
     [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge]; 
    } 
    else 
    { 
     [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge]; 
    } 
} 

注:あなたが信頼ドメインに「example.com」を変更する必要がありますが'hasSuffix'よりも洗練されたメカニズムを使用してください。ゴードン・ヘンリクセンへ https://developer.apple.com/library/ios/technotes/tn2232/_index.html

感謝をhttps://stackoverflow.com/a/2033823/235229でこれを答えるために、しかし、使用して:

FYIアップルのTechnote TN2232「HTTPSサーバ信託の評価は、」証明書が拒否されたと、それをどのように扱うか理由についての詳細の多くに入ります古いAPI。

+0

完璧な答え、あなたは私の日を救った。 – Logic

0

証明書を信頼していてもこのエラーが発生している場合は、デバイスの日付(誤って/意図的に誰かを将来に変更した場合)を確認することもできます。

関連する問題