2012-03-16 21 views
17

Từ việc xem ghi chú cho phiên bản OSX sắp tới (phiên bản OSX Lion), có vẻ như tất cả DMG/trình cài đặt cần được ký, ngay cả khi không được phân phối qua cửa hàng Mac App.Đăng nhập gatekeeper cho OSX DMG bên ngoài OSX/XCode/Mac App Store?

Tôi không thể tìm thấy công cụ dòng lệnh để thực hiện việc ký này hoặc nhiều tài liệu về việc nhận chứng chỉ ký mà không gửi App Store.

Ai đó có thể bật sáng: 1) Cách nhận chứng chỉ mà không cần phân phối ứng dụng của bạn qua Mac App Store? 2) Làm thế nào để ký một DMG mà không sử dụng các công cụ XCode dựng sẵn (thích hợp hơn là một công cụ đa nền tảng)?

Cảm ơn!

+0

Hầu hết các chi tiết của OS X 10.8 vẫn thuộc NDA. – duskwuff

+3

OK, coi đây là "cách đăng ký DMG cho Snow Leopard". Tôi cũng chỉnh sửa bằng câu hỏi để không đề cập đến "điều đó là dưới NDA". Tôi hy vọng rằng làm giảm hạnh phúc kích hoạt của bạn để nhấn nút đóng thay vì đóng góp một cái gì đó có ý nghĩa cho cuộc trò chuyện. – psychotik

+0

kiểm tra công cụ 'xcrun' để thực hiện công việc nhất để ký công cụ (bao gồm hồ sơ cấp phép). – Eimantas

Trả lời

4

Mã được mô tả chi tiết herehere - về cơ bản bạn cần có chứng chỉ và sau đó bạn có thể ký đơn đăng ký của mình ... AFAIK hiện không có tài liệu chính thức nào về việc ký DMG. Đối với câu hỏi thứ hai của bạn (ký kết đa nền tảng), không có công cụ nào có sẵn (ít nhất là không có công cụ nào được Apple hỗ trợ chính thức). Đối với thông tin liên quan đến phiên bản OS X trong tương lai, tôi khuyên bạn nên hỏi về Diễn đàn Apple thích hợp (thường có cả diễn đàn về những thứ liên quan đến NDA).

4

Đó là siêu dễ dàng:

CODESIGN_IDENTITY='Name of Code Sign Cert' # Found in Keychain Access 

codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.app 

Sau đó trên dmg:

codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.dmg 

Điều này thậm chí hoạt động trên read-only DMGs như UDZO.

+0

wow, DMG ký hợp đồng như thế nào? nó là hfs + metadata? –

2

Ký ảnh đĩa (Nguồn: Apple)

hình ảnh đĩa có thể được ký kết bằng công cụ codesign trên hệ điều hành MacOS 10.11.5 và sau đó. Điều này cho phép toàn bộ ảnh đĩa được xác nhận bởi Gatekeeper khi lần đầu tiên nó được gắn kết.

Gatekeeper cũng sẽ xác thực nội dung của hình ảnh đĩa.

Hình ảnh đĩa chỉ nên được ký bằng thông tin nhận dạng Ứng dụng ID nhà phát triển của bạn.

trên MacOS Sierra và sau đó, spctl thể được sử dụng để đánh giá chữ ký một hình ảnh đĩa của, như thế này:

$ spctl -a -t mở bối cảnh --context: tiểu chữ ký -v MyImage.dmg /Users/me/Downloads/MyImage.dmg: nguồn được chấp nhận = ID Developer

Lưu ý: Một hình ảnh đĩa có chữ ký trên OS X 10.11.5 hoặc 10.11.6 không thể được tái ký kết. Trong tình huống này, hoạt động sẽ xuất hiện để thành công, nhưng chữ ký sẽ không hợp lệ. Nếu bạn gặp phải tình trạng này, hãy ký một bản sao mới (chưa ký) của hình ảnh trên macOS Sierra hoặc mới hơn.