2010-09-20 42 views

Trả lời

18

NSURLConnection đại biểu của bạn phải phản hồi phương thức ủy quyền connection:didReceiveAuthenticationChallenge: (xem liên kết bên dưới).

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

Nó nên phản ứng bằng cách yêu cầu thách thức đối với 'gửi' của nó và cung cấp nó với một chứng chỉ phù hợp.

Cái gì như:

- (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]; 
} 

Xem NSURLCredential lớp tham khảo để biết chi tiết về làm thế nào để tạo ra một chứng chỉ dựa trên một chứng chỉ:

+0

Tôi có quyền nói rằng didReceiveAuthenticationChallenge hiện không được chấp nhận? http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSURLConnectionDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/NSURLConnectionDelegate Bất cứ ai có thể chỉ cho tôi một ví dụ đầy đủ hơn về việc sử dụng chứng chỉ ứng dụng khách để xác thực yêu cầu? – Rory

2

Trước khi sử dụng giấy chứng nhận của khách hàng trong ứng dụng của bạn (như đã trả lời bởi Jake), bạn phải triển khai nhập chứng chỉ trong ứng dụng của mình vào khóa ứng dụng. (lưu ý rằng bạn cần sử dụng định dạng chứng chỉ PKCS # 12 nhưng bạn cần đăng ký nó trong ứng dụng của mình (tìm kiếm các loại UTI và Tài liệu đã xuất) với phần mở rộng khác, ngoài ".p12", đã được đăng ký bởi iOS. đã sử dụng .x-p12 trong ứng dụng của tôi)

Hoặc bạn cần đưa chứng chỉ vào gói ứng dụng của mình.

Xem ở đây: iOS Client Certificates and Mobile Device Management

và ở đây: https://developer.apple.com/library/ios/qa/qa1745/_index.html

Các vấn đề liên quan