2012-05-14 32 views
6

Ứng dụng của bên thứ ba có thể truy cập vào móc khóa của iPhone để thêm chứng chỉ X509 vào nó không? Nếu có, làm thế nào nó có thể được thực hiện?
Nếu không, nó có thể truy cập vào keychain chỉ để đọc chứng chỉ từ nó không?Lưu trữ & truy cập chứng chỉ x509 trong móc khóa của iPhone

Về cơ bản, những gì tôi cần là:
1) ứng dụng của tôi cần truy cập trang web https sử dụng chứng chỉ không được ký bởi bất kỳ CA đáng tin cậy nào. khi cố gắng kết nối qua https, tôi nhận được một ngoại lệ.
2) nó sẽ là tuyệt vời Nếu tôi lập trình có thể thêm chứng chỉ của root vào keychain; nó sẽ là đủ nếu người dùng có thể truy cập vào trang web thông qua Safari, chấp nhận chứng chỉ của nó, và sau đó truy cập vào trang web bằng cách sử dụng ứng dụng của tôi.

Cho đến nay, tôi đã sử dụng các giao diện sau đây để vượt qua https:

@interface NSURLRequest (DummyInterface) 
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString*)host; 
+ (void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString*)host; 
@end 

nhưng đây không phải là chính xác những gì tôi muốn.

Mọi đề xuất?

Trả lời

3

This Apple document nên ghi lại đủ nội dung để cho phép thêm chứng chỉ tự ký (hoặc tổ chức phát hành chứng chỉ tự ký) vào móc khóa và làm cho nó đáng tin cậy. Tôi đã không thử nghiệm nó, mặc dù. Source

Xem thêm top answer on this question. Nó, tuy nhiên, dường như không thực sự xác minh tính hợp lệ của chứng chỉ. Cocoanetics cũng đã ghi lại tài liệu how to use NSURLConnection with self-signed certificates và tương tự dường như cũng không xác minh tính hợp lệ.

Vì vậy, bạn gần như chắc chắn muốn làm theo hướng dẫn của Apple. Phần "Trích xuất và đánh giá nhận dạng từ một tệp * .P12" dường như chứa một ví dụ hoàn chỉnh về cách nhập chứng chỉ, ngay cả một chứng chỉ được bảo vệ bằng cụm mật khẩu.

Kết hợp điều đó với "AdvancedURLConnections" sample code và lớp ServerTrustChallengeHandler và bạn nên làm tốt.


Đây cũng là a more complete example by Vanja Komadinović.

+0

Tôi chưa thử nghiệm điều này, nhưng sẽ ngay khi tôi có cơ hội – Maggie

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