SORU
1 HAZİRAN 2009, PAZARTESİ


Nasıl NSURLConnection bağlamak için güvenilmeyen bir sertifika SSL ile?

SSL bir web sayfasına bağlanmak için aşağıdaki basit bir kod var

NSMutableURLRequest *urlRequest=[NSMutableURLRequest requestWithURL:url];
[ NSURLConnection sendSynchronousRequest: urlRequest returningResponse: nil error: &error ];

Başka bir hata verir eğer cert ise kendi kendine imzalanmış bir Error Domain=NSURLErrorDomain Code=-1202 UserInfo=0xd29930 "untrusted server certificate". var bir yol olarak kabul bağlantılarını neyse (gibi bir tarayıcı tuşuna basın kabul eder) ya da bir seçenek yok mu?

CEVAP
9 Ocak 2010, CUMARTESİ


Bunu başarmak için desteklenen bir API var! NSURLConnection temsilci için böyle bir şey ekleyin:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
  return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
  if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
    if ([trustedHosts containsObject:challenge.protectionSpace.host])
      [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];

  [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}

connection:didReceiveAuthenticationChallenge: mesajı meydan gönderebilir unutmayın.Gönderen (çok) daha sonra, gerekirse kullanıcıya bir iletişim kutusu sunduktan sonra, vb.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Grace Su

    Grace Su

    6 Ocak 2006
  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006