2012-02-14 20 views
6

tôi đã tìm kiếm khá vài trang web cho bất kỳ intel về cấu hình iPhone qua mạng không dây với các tập tin mobileconfig, và bị mắc kẹt tại một số sân khấu ...:/ đây là những gì tôi đã tìm thấy: http://cryptopath.wordpress.com/2010/01/29/iphone-certificate-flaws/ nhưng điều này một phần là vượt quá sự hiểu tôiiOS mobileconfig walkarounds

Sử dụng smime openssl và P12 bạn nhận được từ Verisign, ký tập tin mobileconfig bao gồm chuỗi CA hoàn và đặt nó vào một máy chủ HTTP công

Nếu tôi hiểu đúng những gì tôi phải làm là:
1) có được một giấy chứng nhận từ Verisign (nhận nó dựa trên key.pem và request.pem tạo ra từ openssl)
2) tạo file .mobileconfig trong iPhone Cấu hình Tiện ích (tôi có phải có tất cả các cài đặt trong nó đầy hay đủ để chỉ có tệp này?)
3) và ... chuỗi CA này là gì?

cũng tôi đã tìm thấy những thứ ở đây: http://www.rootmanager.com/iphone-ota-configuration/iphone-ota-setup-with-signed-mobileconfig.html
Ở đây tôi cũng đang bị mắc kẹt với các công cụ chuỗi này ... không ai có/biết, tốt nhất là bước-by-step giải pháp cho noobs như tôi? ;) (mong muốn nhất rõ ràng là giải pháp để tạo toàn bộ chứng chỉ, vì sau này là hướng dẫn khá nhanh)

Trả lời

11

Chuỗi tóm tắt cơ bản của chuỗi CA: Giả sử bạn có chứng chỉ bảo mật cho rằng bạn là example.com. Nhưng không ai sẽ tin bạn. Vì vậy, bạn nhận được chữ ký của một người mà mọi người tin tưởng (Verisign trong ví dụ của bạn ở trên). Bây giờ, tôi tin rằng bạn là example.com vì Verisign đang xác nhận cho bạn bằng cách ký vào chứng chỉ của bạn.

Thông thường Verisign sẽ không ký tên bằng chứng chỉ "gốc" chính của họ. Thay vào đó, họ sẽ ký nó với một CA cấp hai và CA thứ hai được ký bởi chứng chỉ gốc mà tôi tin cậy.

Đó là chuỗi chứng chỉ: Bạn (example.com), được ký bởi một CA cấp hai, được ký bởi một CA gốc.

Vì vậy, khi đưa cho tôi chứng chỉ của bạn, bạn cũng cần phải cung cấp toàn bộ chuỗi để tôi có thể xác thực tất cả các cách trên cùng và xem liệu tôi có thực sự tin tưởng bạn hay không.

Vì vậy, lệnh sau sẽ lấy tệp .mobileconfig của bạn và ký tên bằng chứng chỉ của bạn. Và tôi sẽ tin tưởng chữ ký của bạn, miễn là bạn cung cấp toàn bộ chuỗi.

Files:
* company.mobileconfig < - tập .mobileconfig của bạn, bạn làm
* signed.mobileconfig < - tệp đã ký mà được tạo ra sau khi lệnh được thực hiện
* server.crt < - chứng chỉ mà bạn nhận được từ một CA đáng tin cậy
* server.key < - tệp khóa riêng tư của bạn đi kèm với chứng chỉ ở trên (giữ an toàn)
* chuỗi chứng nhận.crt < - bất cứ điều gì chứng là trong chuỗi lên đến CA cấp cao nhất mà mọi người tin tưởng

Lệnh:

openssl smime -sign -in company.mobileconfig -out signed.mobileconfig 
    -signer server.crt -inkey server.key -certfile cert-chain.crt 
    -outform der -nodetach 
+0

thx cho trả lời, tôi sẽ cố gắng kiểm tra nó càng sớm càng tốt và cho bạn biết :) – raistlin

+0

Điều này đã làm việc cho tôi, tôi đã sử dụng chứng chỉ SSL. Cảm ơn. – dazito

+0

Đây là cách bạn có thể sao chép lệnh này trong mã Java: http://stackoverflow.com/questions/36595294/replicate-openssl-command-to-sign-a-file-in-java – dazito