Làm thế nào để vượt qua màn hình thông minh trên Win8 khi cài đặt ứng dụng đã ký?


80

Chúng tôi là nhà phát triển và chúng tôi có trình cài đặt ứng dụng được ký kỹ thuật số. Khi chúng tôi cài đặt ứng dụng này, ứng dụng này sẽ xuất hiện trên màn hình thông minh, ảnh hưởng đến trải nghiệm cài đặt. Nó nói rằng

Windows đã bảo vệ PC của bạn

Windows SmartScreen đã ngăn không cho ứng dụng không nhận dạng khởi động được. Chạy ứng dụng này có thể khiến PC của bạn gặp rủi ro.

Tôi nghĩ Microsoft có một số chiến lược để xác minh ứng dụng bên cạnh chữ ký điện tử. Có ai có kinh nghiệm cho vấn đề này và vui lòng cho tôi một số manh mối để khắc phục vấn đề này?

Câu trả lời:


47

Nếu bạn đã ký trình cài đặt bằng chứng chỉ đã mua từ CA, bạn phải liên hệ với CA để được giải thích về lý do tại sao họ không thể làm việc với Microsoft để loại bỏ cảnh báo này.

Nếu chứng chỉ không phải từ CA mà là chứng chỉ tự ký, bạn sẽ phải nhờ đến CA.

Microsoft đã có hầu hết thông tin được xuất bản trên blog nhóm Windows của mình,

https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signs-certificates/

Thực hành tốt nhất

Các nhà phát triển vẫn nên làm theo các phương pháp hay nhất mà chúng tôi đã đề xuất trong các bài đăng trên blog trước đây. Chúng tôi đã thêm vào hướng dẫn đó các tùy chọn bổ sung để phân phối ứng dụng thông qua Windows Store và tùy chọn ký mã EV:

  • Phân phối ứng dụng của bạn thông qua Windows Store

Ứng dụng Windows 8 bắt buộc phải vượt qua quá trình giới thiệu và đánh giá ứng dụng của nhà phát triển Windows Store. Các ứng dụng Windows 8 không nằm trong phạm vi kiểm tra hoặc cảnh báo danh tiếng của ứng dụng SmartScreen trong Windows 8.

  • Ký kỹ thuật số các chương trình của bạn (ký mã tiêu chuẩn hoặc EV)

Danh tiếng được tạo ra và gán cho các chứng chỉ kỹ thuật số cũng như các tệp cụ thể. Chứng chỉ kỹ thuật số cho phép dữ liệu được tổng hợp và gán cho một chứng chỉ duy nhất thay vì nhiều chương trình riêng lẻ. Mặc dù không bắt buộc, các chương trình được ký bởi chứng chỉ ký mã EV có thể ngay lập tức thiết lập danh tiếng với các dịch vụ danh tiếng của SmartScreen ngay cả khi không có danh tiếng nào trước đó cho tệp hoặc nhà xuất bản đó. Chứng chỉ ký mã EV cũng có một số nhận dạng duy nhất giúp dễ dàng duy trì danh tiếng qua các lần gia hạn chứng chỉ. Chỉ Chứng chỉ Authenticode được cấp bởi CA là thành viên của Chương trình Chứng chỉ gốc của Windows mới có thể thiết lập danh tiếng.

Tại thời điểm này, Symantec và DigiCert đang cung cấp chứng chỉ ký mã EV.

  • Không ký hoặc phát tán mã độc hại

Mã phân phối bị phát hiện là độc hại sẽ xóa danh tiếng khỏi tệp và bất kỳ danh tiếng nào khỏi chứng chỉ số được liên kết - ngay cả khi được ký bằng chứng chỉ ký mã EV.

  • Đăng ký Biểu trưng Windows hoặc Chứng nhận Ứng dụng Máy tính để bàn Windows 8

Tìm hiểu thêm về các chương trình này tại đây: Chứng nhận ứng dụng dành cho máy tính để bàn Windows 8 (bắt buộc đối với việc gửi Windows Store) Chương trình biểu trưng Windows


"Nếu chứng chỉ không phải từ CA mà là chứng chỉ tự ký, bạn sẽ phải nhờ đến CA." Thông qua những nguồn thu nhập nào mà một người yêu thích hoặc ISV vi mô sẽ thu hồi khoản phí khoảng 110 đô la mỗi năm mà CA tính phí?
Damian Yerrick

1
"Như chúng ta đã thảo luận trước đây, SmartScreen xây dựng danh tiếng cho cả các chương trình riêng lẻ và cho chứng chỉ được sử dụng để ký mã đó." Trích dẫn từ bài đăng trên blog được liên kết của Microsoft. Nhiều dự án mã nguồn mở dựa vào danh tiếng của họ, trong khi bạn cũng có thể yêu cầu tài trợ xung quanh để trang trải các khoản phí nếu bạn muốn ký.
Lex Li

48

Chúng tôi vừa trải qua toàn bộ quá trình chuyển từ chứng chỉ Authenticode sang chứng chỉ mới (không phải chứng chỉ EV, chỉ là chứng chỉ đơn giản có thể được sử dụng trong quy trình xây dựng tự động của chúng tôi).

Microsoft không còn cung cấp bất kỳ phương tiện nào để chuyển danh tiếng từ chứng chỉ hiện có sang chứng chỉ mới. Vì vậy, đừng cố gắng kêu gọi sự hỗ trợ của họ. Bạn sẽ chỉ lãng phí rất nhiều thời gian và năng lượng. Và họ sẽ không thể giúp đỡ.

Microsoft tuyên bố rằng nếu chứng chỉ cũ và mới có nội dung văn bản giống nhau, danh tiếng sẽ được thiết lập nhanh hơn. Cụ thể hơn, đây là câu trả lời tôi nhận được từ nhóm hỗ trợ tính năng Danh tiếng ứng dụng của Bộ lọc SmartScreen® :

Xin lưu ý rằng bất cứ khi nào bạn gia hạn chứng chỉ có danh tiếng đã biết, bạn có thể sẽ thấy một số cảnh báo trong quá trình tải xuống ban đầu các tệp được ký với chứng chỉ đã được gia hạn. Tuy nhiên, danh tiếng đã biết trên chứng chỉ được gia hạn thường được thiết lập nhanh hơn so với chứng chỉ mới. Trong khi chứng chỉ được gia hạn sẽ thiết lập danh tiếng, người dùng vẫn có thể nhấp qua để chạy hoặc lưu tải xuống. Để làm như vậy, họ chọn Hành động | Tùy chọn khác | Vẫn chạy từ Trình quản lý tải xuống.

Cách tốt nhất để đảm bảo rằng SmartScreen sẽ không cảnh báo người dùng là chạy Bộ chứng nhận ứng dụng Windows (WACK) sẽ được bao gồm trong bản tải xuống Windows SDK:

Bộ chứng nhận ứng dụng Windows

Sau khi chạy thử nghiệm, WACK giải thích cách tiếp tục:

Báo cáo cuối cùng - Đã thông qua xác thực

Tải kết quả XML của chứng nhận ứng dụng thành công lên https://sysdev.microsoft.com . Một vài ngày sau, SmartScreen sẽ nhận biết được chữ ký điện tử được sử dụng cho chương trình được chứng nhận và sẽ không còn cảnh báo người dùng khi tải xuống.

Lưu ý Chúng tôi không thể chứng nhận ứng dụng của mình trên các bản cập nhật mới nhất của Windows 8.1 và chúng tôi phải sử dụng bản cài đặt Windows 8.1 sạch để có được WACK xác thực thành công tất cả các chương trình của chúng tôi.


15
Tôi muốn đề cập rằng quá trình này tôi mất khoảng 2 giờ hoặc lâu hơn (có thể nhiều hơn một chút) để hoàn thành. Tôi không chắc liệu quy mô của dự án có phải là một yếu tố hay không, nhưng đây không phải là một quá trình kéo dài 2 phút.
leigero


8
Có vẻ như MS đã nghỉ hưu sysdev.microsoft.com. Bạn có biết nơi nào bây giờ để tải tệp lên không?
Shchvova

2
Có vẻ như MS đã nghỉ hưu sysdev.microsoft.com. Bạn có biết nơi nào bây giờ để tải tệp lên không?
Phoenix

2
Thay vào đó, hãy gửi tệp tại đây: microsoft.com/en-us/wdsi/filesubmission
Rami A.

15

Tôi đã tìm kiếm trong một thời gian, vì vậy tôi sẽ chia sẻ những gì tôi đã tìm thấy cho đến nay.

Tôi chưa tìm thấy bất kỳ tài liệu nào về tính năng này trong Windows 8 của Microsoft, nhưng có thể tôi đang tìm nhầm chỗ.

Hầu hết các bài báo tôi đọc thảo luận rằng Bộ lọc SmartScreen hoạt động như sau:

  • Trước khi chạy trình cài đặt hoặc tệp thực thi đã được tải xuống, Windows 8 sẽ tham khảo ý kiến ​​của cơ sở dữ liệu.
  • Cơ sở dữ liệu có thể báo cáo xem chương trình đó đã được hay chưa:
    • được báo cáo là độc hại / lừa đảo, (và được Nhân viên Microsoft xác minh).
    • được sử dụng / chạy bởi nhiều người.

Nếu có đủ người đã chạy trình cài đặt đó mà không báo cáo nó là độc hại, thì cuối cùng chương trình đó sẽ được gắn cờ là an toàn và những người dùng khác sẽ không nhận được thông báo khó chịu.

một số nguồn: ( here ) ( here )

Thông tin được gửi tới Microsoft khi người dùng cài đặt một chương trình bao gồm địa chỉ IP, mã băm của trình cài đặt và chữ ký điện tử, và có thể là tên tệp của ứng dụng. ( xem tại đây )

Nhân viên của Microsoft sẽ có quyền truy cập trực tiếp vào cơ sở dữ liệu để thêm và gắn cờ an toàn cho tất cả các ứng dụng Microsoft.

Có lẽ Microsoft đã thiết lập một cách để xác nhận trước trình cài đặt của bạn với họ, nếu không, bạn có thể chỉ cần đợi cho đến khi có đủ người chạy trình cài đặt. (nhưng không chắc là bao nhiêu).


Liên kết tới log.nadim.cc/?p=78bị hỏng và ngay cả Way Back Machine cũng không tiết lộ bất kỳ nội dung nào. Có vị trí nào thay thế cho nội dung không?
Uwe Keim

11

Tôi vừa trải qua quá trình này và tôi sẽ thêm một số mẩu thông tin vào điều này.

1) Nhận EV. Nó đáng giá. Lần tới khi bạn nâng cấp chứng chỉ của mình, hãy nâng cấp lên chứng chỉ EV. Giá khoảng $ 100 mỗi năm. Chứng chỉ EV được coi là an toàn hơn, vì chúng khó bị đánh cắp hơn. Khi được cấp cho bạn, một thiết bị mã thông báo phần cứng sẽ được cấp cho bạn để hoàn tất việc đăng ký. Thật không may, dấu hiệu cuối cùng không tương thích với các bản dựng tự động.

Nó không khủng khiếp như nó âm thanh. Họ sẽ cung cấp cho bạn chứng chỉ thứ hai để ký các tệp thực thi của bạn (bên trong trình cài đặt), chứng chỉ này vẫn tương thích với tự động hóa. Chữ ký trên trình cài đặt phải được ký cùng với mã thông báo phần cứng.

2) Nếu bạn không muốn lấy chứng chỉ EV, bạn cần có danh tiếng. Nếu bạn đang nâng cấp, Microsoft sẽ chuyển danh tiếng từ chứng chỉ cũ của bạn sang chứng chỉ mới. Bạn phải liên hệ với bộ phận hỗ trợ kỹ thuật của MSDN và trong khoảng một tuần, việc này sẽ được thực hiện. Tôi đã gửi trình cài đặt cũ và mới của mình - cùng với chứng chỉ cũ và mới - và họ đã sửa lỗi đó.

3) Nếu đây là chứng chỉ đầu tiên của bạn, bạn sẽ bị mắc kẹt với SmartScreen cho đến khi bạn có được danh tiếng. Bạn có thể sẽ được chứng nhận ứng dụng của mình thông qua sysdev.microsoft.com. Tuy nhiên, không thực sự biết bạn cần bao nhiêu lượt tải xuống trước khi đạt được danh tiếng tích cực với Microsoft.

Đó là kinh nghiệm của tôi.


3
Xin vui lòng cho tôi biết, nơi để gửi một ứng dụng để chuyển giao danh tiếng của chứng chỉ cũ của tôi?
CITBL

1
Tôi đã sử dụng đăng ký MSDN của mình để yêu cầu hỗ trợ nhà phát triển.
Lompican

2
Tôi vừa trải qua toàn bộ quá trình với Microsoft. Rõ ràng, bộ phận hỗ trợ công nghệ MSDN không còn cung cấp bất kỳ sự hỗ trợ nào về chủ đề này. Bạn thực sự cần thiết lập một số danh tiếng để loại bỏ các cảnh báo SmartScreen . Cách đơn giản nhất là xác minh ứng dụng của bạn bằng Windows App Cert Kit và sau đó tải kết quả lên sysdev.microsoft.com.
Pierre Arnaud

EVs thậm chí có sẵn cho các cá nhân, trái ngược với các công ty? Và những bước nào mà một người có sở thích phải làm để quyên góp tiền cho một con?
Damian Yerrick

5

Kể từ khi Windows 8.1 ra mắt.

  • Microsoft đã hủy kích hoạt tất cả các Chứng chỉ ký mã chuẩn đáng tin cậy khi bạn tải chúng qua internet vào PC và cố gắng cài đặt chúng, nhưng ứng dụng Chứng chỉ ký mã chuẩn vẫn hoạt động nếu bạn phân phối ứng dụng của mình qua USB hoặc CD-ROM.

  • Không sử dụng signtool.exeđể xác minh ( signtool.exe verify /pa mysetup.exesẽ hiển thị thành công nhưng sẽ không thành công khi người dùng khác tải xuống và cố gắng cài đặt cửa sổ bật lên SmartScreen sẽ tiếp tục hiển thị)

Sử dụng Bộ chứng nhận ứng dụng Windows (WACK)

nhập mô tả hình ảnh ở đây

  • Chứng chỉ ký mã tiêu chuẩn này đã chết. Có nghĩa là nếu bạn có chứng chỉ ký mã tiêu chuẩn, nó sẽ không hoạt động đáng tin cậy nữa như trước đây, mặc dù Bộ chứng nhận ứng dụng Windows (WACK) hiển thị PASS với CẢNH BÁO, không có nghĩa là xác minh thành công 100%

nhập mô tả hình ảnh ở đây

Bạn phải mua chứng chỉ EV ( https://www.globalsign.com/en/code-signs/ )

Vì vậy, để thành công 100%, Hãy làm theo cách cho ăn bằng thìa:

Bước 1: Truy cập https://sysdev.microsoft.com và đăng nhập

a) Tạo tài khoản công ty> tiếp theo

b) Tải xuống tệp winqual.exe ở dạng tệp zip do microsoft cung cấp, bây giờ hãy ký vào winqual.exe bằng chứng chỉ tiêu chuẩn hoặc chứng chỉ EV của bạn và sau đó nhấp vào tiếp theo để tải tệp lên để xác thực.

Trong trường hợp của tôi, nó không thành công vì tôi có chứng chỉ tiêu chuẩn mà Microsoft ngừng cho phép nữa. Vì vậy, tất cả những gì bạn phải làm bây giờ là mua giấy phép EV khác mà bạn đang có vấn đề và có thể dành cả đời để giải quyết vấn đề này mà không cần bất kỳ manh mối nào.

nhập mô tả hình ảnh ở đây


4
Điều này là để phát triển trình điều khiển.
crea7or

Vì vậy, mọi người cần phải mua chứng chỉ đó có giá $ 290 mỗi năm để tránh màn hình thông minh?
user3304007

4

Tôi đã thử nghiệm giải pháp C cert EV và nó hoạt động.

Đáng buồn thay, tôi cũng sẽ đề cập rằng chứng chỉ EV không tương thích với TeamBuild thực thi ký kết trong ngữ cảnh của một dịch vụ. Chứng chỉ EV yêu cầu mã thông báo phần cứng giao diện với Nhà cung cấp dịch vụ mật mã được cung cấp bởi SafeNet, Inc để sử dụng với tất cả các nhà cung cấp chứng chỉ EV được ủy quyền (VeriSign và DigiCert).

Khi quá trình ký xảy ra, trình điều khiển từ Safenet sẽ nhắc nhập mật khẩu hơi không tương thích với việc thực thi trong ngữ cảnh của một dịch vụ. Ngoài ra, Safenet cung cấp tính năng bảo vệ ngăn chặn việc ký từ bất kỳ thứ gì ngoại trừ bảng điều khiển thực tế. Bạn thậm chí không thể đăng nhập từ trong một phiên máy tính từ xa. Vì vậy, việc ký hợp đồng từ bên trong Teambuild tốt nhất là có vấn đề và tệ nhất là không thể.

Tôi đã làm việc với Microsoft và họ không thể cung cấp giải pháp thay thế cho việc ký kết hoặc bất kỳ cách nào khác để đạt được danh tiếng tức thì trong SmartScreen.


1

Rất tiếc, tôi không có đủ đại diện để chỉ cần bình luận về một trong những câu trả lời ở trên. Tuy nhiên, nếu bạn chỉ định tin cậy một phần cho ứng dụng đã xuất bản của mình (tôi đã chọn vùng Internet) và có chứng chỉ ký mã tại chỗ, thì sẽ không có cảnh báo màn hình thông minh nào được hiển thị (được kiểm tra trên Win10).


1

Tôi ký đơn đăng ký của mình theo cách tự động bằng chứng chỉ EV trên mã thông báo (GlobalSign). Sử dụng tệp .bat. trong tệp ".bat", nhập ex: (Đối với sha1)

SignTool.exe sign /n "Exact Enterprise name in the cert - token" /t "http://timestamp.globalsign.com/scripts/timstamp.dll" "c:\Patch_to_file\Filename.exe"

"Tên doanh nghiệp chính xác trong chứng chỉ - mã thông báo" phải là tên chính xác có trong chứng chỉ (mã thông báo)


1
Và nó có xóa hộp thoại màn hình thông minh không?
user3304007

0

"Phiên bản của tệp không tương thích với phiên bản cửa sổ bạn đang chạy". Trong máy chủ Windows 2008 không có nút 'Thông tin khác' để chọn cài đặt.

Khi chúng tôi phát triển phần mềm máy tính để bàn windows (không phải 'Ứng dụng') bằng các sản phẩm không phải của Microsoft (Delphi) và sử dụng Innosetup cho trình cài đặt của mình, việc xác thực ứng dụng là vô nghĩa. Nó ngồi đó trong 30 phút không làm gì cả, chúng tôi chỉ cần khởi động ứng dụng, sau đó đóng ứng dụng theo cách thủ công và nó tạo ra một báo cáo vượt qua.

Chúng tôi ký mã vào tất cả các bản phát hành của mình và mọi tệp thực thi trong chúng.

Khi chúng tôi tải XML lên Microsoft, XML được chứng nhận nằm trên một trang web không liên quan đến tài khoản nhà phát triển chính của chúng tôi, không có cách nào để xuất bản nó lên Microsoft Store. 45 phút lãng phí cho mỗi ứng dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.