2012-05-11 29 views
8

Tôi muốn có thể cài đặt chứng chỉ ứng dụng khách (qua email) và sau đó sử dụng chứng chỉ đó để xác thực các yêu cầu được gửi bởi ứng dụng của tôi. Tôi có cảm giác rằng Apple sẽ không cho phép loại truy cập đó, nhưng không thể tìm thấy bất kỳ câu trả lời rõ ràng nào. Điều đó có đúng không, hoặc có cách nào để truy cập chứng chỉ ứng dụng được cài đặt trên thiết bị từ bên trong ứng dụng không?Có thể sử dụng chứng chỉ ứng dụng khách được cài đặt trên thiết bị iOS trong ứng dụng của tôi không?

Chỉnh sửa: Để làm rõ, đây là ứng dụng gốc chứ không phải ứng dụng web.

Trả lời

3

Ứng dụng của bạn chỉ có thể sử dụng những gì bạn lưu trữ trong chuỗi khóa của riêng nó (hoặc móc khóa của các ứng dụng bên thứ ba khác có chung giấy chứng nhận cấp phép). Đối với tải thực tế chúng tôi sử dụng openssl (chúng tôi đã viết một wrapper obj-c xung quanh nó) để giải mã .p12 mà chúng tôi gửi đến ứng dụng.

Các chứng chỉ được nạp trong cài đặt-> chung-> cấu hình được bảo vệ theo một cách nào đó chỉ các ứng dụng được tích hợp sẵn (thư, safari) mới có thể thêm nội dung vào đó.

+0

một ứng dụng mà sử dụng SafariServices sẽ có thể sử dụng một cert khách hàng, lưu trữ trong nhóm truy cập Apple, để xác thực? –

0

Để sử dụng chứng chỉ ứng dụng khách trong ứng dụng của bạn, bạn phải triển khai nhập chứng chỉ trong ứng dụng vào móc khóa ứng dụng của mình. (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) 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