2012-11-22 34 views
15

Tôi đã sử dụng chứng chỉ ký mã nhà xuất bản hợp lệ để ký.Phân phối ứng dụng Clickonce cho Windows 8

Khi người dùng tải xuống setup.exe Windows 8 SmartScreen vẫn cảnh báo người dùng, mặc dù nhà xuất bản là người dùng hợp lệ.

Bây giờ, sau khi cài đặt. Windows 8 SmartSreen sẽ nhắc nhở một thông báo khác "Windows SmartScreen đã ngăn chặn một ứng dụng không được nhận ra ngay từ đầu. Chạy ứng dụng này có thể khiến PC của bạn gặp rủi ro." và Nhà xuất bản là Nhà xuất bản chưa được biết.

Tôi có nên đăng ký hội đồng không? Tại sao SmartScreen vẫn đang nhắc khi tôi có chứng chỉ hợp lệ?

Làm cách nào để tôi có thể ký vào ứng dụng exe, không phải exe thiết lập?

Trả lời

3

Tôi có nên ký tên vào hội đồng không?

Tôi nghi ngờ đây là vấn đề. ClickOnce yêu cầu các tệp kê khai của nó được ký (bạn không có lựa chọn), nhưng tôi không nghĩ rằng có một yêu cầu để ký các assembly (như bạn đã ám chỉ), nhưng có khả năng Windows 8 có yêu cầu này.

Các hội đồng không được gán có thể được sửa đổi và bất kỳ hội đồng tham chiếu nào cũng sẽ tải và thực thi mã bên trong chúng - không hỏi gì, do đó một thực thể độc hại có thể thay thế một hoặc nhiều hội đồng của bạn trên đĩa và thỏa hiệp ứng dụng của bạn. ClickOnce cho phép người dùng có quyền hệ thống thấp để thực hiện các tác vụ mà họ sẽ không được phép thực hiện, bởi vì sự cho phép đã được (cấp phép) được cấp thông qua chứng chỉ kỹ thuật số (chứng chỉ được sử dụng để ký vào các biểu hiện ClickOnce đã tồn tại trước đó trên mục tiêu máy, hoặc được tin cậy thông qua một cert gốc trên máy mục tiêu). Vì vậy, bằng cách không ký kết các hội đồng có một liên kết yếu trong chuỗi an ninh, và có khả năng là điều này đã được thắt chặt trong Windows 8 (theo mặc định).

Ký như lắp ráp xem: How to: Sign an Assembly (Visual Studio)

NB. ký kết lắp ráp dotNet thường được gọi là đặt tên mạnh (các thuật ngữ 'ký' và 'đặt tên mạnh' dường như được sử dụng thay thế cho nhau trong ngữ cảnh này).

NB. Một hội đồng có tên mạnh chỉ có thể tham khảo các hội đồng được đặt tên mạnh khác, mặc dù chúng có thể được ký với các chứng chỉ khác nhau. Điều này có thể gây ra sự cố nếu bạn tham chiếu đến các hội đồng của bên thứ ba không được đặt tên mạnh - điều này hiếm khi thực hành không tốt để giải phóng mã chưa ký, một tùy chọn đơn giản là ký tên vào bản lắp ráp với chứng chỉ của riêng bạn bằng cách sử dụng sn.exe

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