2010-09-20 11 views
11

İstemci Sertifikası Kimlik Doğrulaması kullanmak nasıl İstemci Sertifikası Kimlik hakkında çok şey tecrübeleri yok. Herkes bana iOS uygulamasında nasıl kullanılacağını söyleyebilir? Teşekkürler :)iOS uygulamasında

+0

olası yinelenen [iPhone: HTTPS istemci sertifika kimlik doğrulaması] (http://stackoverflow.com/questions/1460626/iphone-https-client-cert -authentication) –

cevap

18

NSURLConnection delegesi, connection:didReceiveAuthenticationChallenge: temsilci yöntemine yanıt vermelidir (aşağıdaki bağlantıya bakın).

http://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSURLConnection_Class/Reference/Reference.html#//apple_ref/occ/instm/NSObject/connection:didReceiveAuthenticationChallenge

:

Onun 'gönderici' için meydan soran ve uygun kimlik kazandırarak yanıt vermelidir.

şey gibi:

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { 
    id sender = [challenge sender]; 

    // create a credential from a certificate 
    // see doco for details of the parameters 
    NSURLCredential *creds = [NSURLCredential credentialWithIdentity:ident certificates:certs persistence:persistence]; 

    [sender useCredential:creds forAuthenticationChallenge:challenge]; 
} 

sertifika dayalı bir kimlik oluşturma detayları için NSURLCredential sınıf referansı bakınız:

+0

didReceiveAuthenticationChallenge şimdi kullanımdan kaldırıldığını söyleyerek haklı mıyım? http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSURLConnectionDelegate herkes kullanmanın daha tam örneğe işaret edebilir istekleri doğrulamak için istemci sertifika? – Rory

2

zaten tarafından yanıtlandı olarak (uygulamanızda istemci sertifikalarını kullanmadan önce Jake) Uygulamanızda sertifika almayı uygulama anahtar kelimenize uygulamak zorundasın. (Eğer PKCS # 12 sertifika biçimini kullanmak gerekir unutmayın ama zaten iOS tarafından tescil edilmiştir ".p12" dışında, farklı uzantılı (ihraç İYE ve Belge türleri için arama) uygulamanızda kaydetmeniz gerekir. I 'uygulamamda kullanılan .x-p12 ve)

Yoksa uygulama paket ile sertifikayı eklemeniz gerekir.

Buraya bakın: Burada iOS Client Certificates and Mobile Device Management

ve: https://developer.apple.com/library/ios/qa/qa1745/_index.html