Jeśli podpisałeś instalator zakupionym certyfikatem z CA, powinieneś skontaktować się z CA w celu wyjaśnienia, dlaczego nie współpracowali z firmą Microsoft, aby pozbyć się tego ostrzeżenia.
Jeśli certyfikat nie pochodzi z urzędu certyfikacji, ale certyfikat z podpisem własnym, należy skorzystać z urzędu certyfikacji.
Microsoft ma już większość informacji opublikowanych na swoim blogu zespołu Windows,
https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signing-certificates/
Najlepsze praktyki
Programiści powinni nadal postępować zgodnie z najlepszymi praktykami, które sugerowaliśmy w poprzednich postach na blogu. Do tych wskazówek dodaliśmy dodatkowe opcje dystrybucji aplikacji przez Sklep Windows oraz opcję podpisywania kodu EV:
- Rozpowszechniaj swoje aplikacje za pośrednictwem Sklepu Windows
Aplikacje systemu Windows 8 są wymagane do przejścia procesu dołączania deweloperów do Sklepu Windows i procesu przeglądu aplikacji. Aplikacje systemu Windows 8 nie są objęte zakresem kontroli reputacji aplikacji SmartScreen ani ostrzeżeń w systemie Windows 8.
- Cyfrowe podpisywanie programów (podpisywanie kodu standardowego lub elektrycznego)
Reputacja jest generowana i przypisywana do certyfikatów cyfrowych oraz określonych plików. Certyfikaty cyfrowe umożliwiają agregowanie danych i przypisywanie ich do pojedynczego certyfikatu, a nie do wielu indywidualnych programów. Chociaż nie jest to wymagane, programy podpisane certyfikatem do podpisywania kodu EV mogą natychmiast ustanowić reputację dzięki usługom reputacyjnym SmartScreen, nawet jeśli nie istnieje wcześniejsza reputacja tego pliku lub wydawcy. Certyfikaty do podpisywania kodów pojazdów elektrycznych mają również unikalny identyfikator, który ułatwia utrzymanie reputacji podczas odnawiania certyfikatów. Tylko certyfikaty Authenticode wydane przez urząd certyfikacji będący członkiem programu certyfikatów głównych systemu Windows mogą ustalić reputację.
W tej chwili firmy Symantec i DigiCert oferują certyfikaty do podpisywania kodu EV.
- Nie podpisuj ani nie rozpowszechniaj złośliwego kodu
Rozpowszechnianie kodu wykrytego jako złośliwy usunie reputację z pliku, a także reputację z powiązanego certyfikatu cyfrowego - nawet jeśli jest on podpisany certyfikatem podpisującym kod EV.
- Wystąp o logo Windows lub certyfikat aplikacji komputerowej Windows 8
Dowiedz się więcej o tych programach tutaj: Certyfikacja aplikacji komputerowej systemu Windows 8 (wymagana w przypadku przesyłania do Sklepu Windows) Program Logo systemu Windows
Właśnie przeszliśmy przez cały proces przechodzenia ze starego certyfikatu Authenticode na nowy (nie jest to certyfikat EV, tylko zwykły certyfikat, którego można użyć w naszym automatycznym procesie budowania).
Firma Microsoft nie zapewnia już żadnych środków przenoszenia reputacji z istniejącego certyfikatu na nowy. Więc nie próbuj wzywać ich wsparcia. Po prostu stracisz dużo czasu i energii. I nie będą w stanie pomóc.
Microsoft twierdzi, że jeśli stare i nowe certyfikaty mają taką samą zawartość tekstową, reputacja zostanie ustalona szybciej. Dokładniej, oto odpowiedź, którą otrzymałem od zespołu pomocy technicznej ds. Funkcji Application Reputation filtra SmartScreen® :
Najlepszym sposobem, aby upewnić się, że SmartScreen nie ostrzega użytkowników, jest uruchomienie zestawu certyfikacji aplikacji systemu Windows (WACK), który powinien być dołączony do pakietu Windows SDK do pobrania:
Po uruchomieniu testów WACK wyjaśnia, jak postępować:
Prześlij wynik XML pomyślnej certyfikacji aplikacji do https://sysdev.microsoft.com . Kilka dni później SmartScreen będzie wiedział o podpisie cyfrowym używanym w certyfikowanym programie i nie będzie już ostrzegać użytkowników przy pobieraniu.
Uwaga Nie byliśmy w stanie poświadczyć naszej aplikacji najnowszych aktualizacji systemu Windows 8.1 i musieliśmy użyć czystej instalacji systemu Windows 8.1, aby WACK pomyślnie zweryfikował wszystkie nasze programy.
źródło
Szukałem od jakiegoś czasu, więc podzielę się tym, co znalazłem do tej pory.
Nie znalazłem żadnej dokumentacji firmy Microsoft na temat tej funkcji w Windows 8, ale być może szukam po prostu w niewłaściwych miejscach.
Większość artykułów, które czytam, omawia, że filtr SmartScreen działa w następujący sposób:
Jeśli wystarczająca liczba osób uruchomi ten instalator bez zgłaszania go jako złośliwego, ostatecznie ten program zostanie oznaczony jako bezpieczny, a inni użytkownicy nie otrzymają irytującej wiadomości.
kilka źródeł: ( tutaj ) ( tutaj )
Informacje wysyłane do firmy Microsoft, gdy użytkownik instaluje program, obejmują adres IP, skrót instalatora i podpis cyfrowy oraz ewentualnie nazwę pliku aplikacji. ( patrz tutaj )
Pracownicy firmy Microsoft mieliby bezpośredni dostęp do bazy danych, aby dodawać i oznaczać bezpieczne wszystkie aplikacje firmy Microsoft.
Być może firma Microsoft przygotowała sposób na wstępne poświadczenie swojego instalatora za ich pomocą, jeśli nie, być może wystarczy poczekać, aż wystarczająca liczba osób uruchomi instalator. (ale nie jestem pewien, ile to będzie).
źródło
log.nadim.cc/?p=78
jest uszkodzony i nawet Way Back Machine nie ujawnia żadnych treści. Czy są jakieś alternatywne lokalizacje treści?Właśnie przeszedłem przez ten proces i dodam do tego kilka ciekawostek.
1) Zdobądź EV. To jest tego warte. Następnym razem, gdy zaktualizujesz swoje certyfikaty, przejdź na certyfikat EV. Cena wynosi około 100 USD więcej rocznie. Certyfikaty EV są uważane za bezpieczniejsze, ponieważ trudniej je ukraść. Po wydaniu Tobie zostanie wydany token sprzętowy w celu uzupełnienia znaku. Niestety ostateczny znak nie jest zgodny z automatycznymi kompilacjami.
To nie jest tak straszne, jak się wydaje. Zapewnią ci drugi certyfikat do podpisywania plików wykonywalnych (wewnątrz instalatora), który pozostaje zgodny z automatyzacją. Podpis na instalatorze musi być podpisany w połączeniu z tokenem sprzętowym.
2) Jeśli nie chcesz otrzymać certyfikatu EV, potrzebujesz reputacji. Jeśli przeprowadzasz aktualizację, firma Microsoft przeniesie reputację ze starego certyfikatu na nowy. Musisz skontaktować się z pomocą techniczną MSDN, a za około tydzień będzie to zrobione. Przesłałem moich starych i nowych instalatorów - ze starymi i nowymi certyfikatami - a oni to naprawili.
3) Jeśli jest to Twój pierwszy certyfikat, utkniesz z SmartScreen, dopóki nie uzyskasz reputacji. Prawdopodobnie powinieneś uzyskać certyfikat swojej aplikacji za pośrednictwem sysdev.microsoft.com. Ale tak naprawdę nie wiadomo, ile pobrań potrzebujesz, zanim zdobędziesz pozytywną reputację w firmie Microsoft.
To jest moje doświadczenie.
źródło
Ponieważ Windows 8.1 jest niedostępny.
Firma Microsoft dezaktywowała wszystkie certyfikaty standardowego podpisywania kodu, aby były zaufane, gdy pobierasz je przez Internet na swój komputer i próbujesz je zainstalować, ale aplikacja Standardowe certyfikaty podpisywania kodu działa, jeśli rozpowszechniasz swoją aplikację przez USB lub CD-ROM.
Nie używaj
signtool.exe
do weryfikacji (signtool.exe verify /pa mysetup.exe
pokaże sukces, ale zakończy się niepowodzeniem, gdy inni użytkownicy go pobiorą i spróbują zainstalować wyskakujące okienko SmartScreen)Użyj zestawu certyfikacji aplikacji systemu Windows (WACK)
Musisz kupić certyfikat EV ( https://www.globalsign.com/en/code-signing/ )
Aby więc odnieść 100% sukcesu, postępuj zgodnie z karmieniem łyżką:
Krok 1: przejdź do https://sysdev.microsoft.com i zaloguj się
a) Utwórz konto firmowe> dalej
b) Pobierz plik winqual.exe jako plik zip dostarczony przez firmę Microsoft, teraz podpisz plik winqual.exe swoim standardowym certyfikatem lub certyfikatem EV, a następnie kliknij przycisk Dalej, aby przesłać plik do weryfikacji.
W moim przypadku nie udało się, ponieważ mam standardowy certyfikat, na który Microsoft już nie zezwala. Więc wszystko, co musisz teraz zrobić, to kupić licencję EV, w przeciwnym razie masz przerąbane i możesz spędzić całe życie na rozwiązaniu tego problemu bez żadnych wskazówek.
źródło
Przetestowałem rozwiązanie EV cert i działa.
Ze smutkiem wspomnę również, że certyfikaty EV są niekompatybilne z TeamBuild, który wykonuje podpisywanie w kontekście usługi. Certyfikaty EV wymagają tokena sprzętowego, który łączy się z dostawcą usług kryptograficznych dostarczanym przez SafeNet, Inc do użytku ze wszystkimi autoryzowanymi dostawcami certyfikatów EV (VeriSign i DigiCert).
Podczas podpisywania sterowniki z Safenet będą pytać o hasło, które jest nieco niekompatybilne z wykonywaniem w kontekście usługi. Dodatkowo Safenet zapewnia ochronę, która uniemożliwia podpisywanie z niczego innego niż rzeczywista konsola. Nie możesz nawet podpisać się z sesji zdalnego pulpitu. Tak więc podpisywanie z poziomu Teambuild jest w najlepszym przypadku problematyczne, aw najgorszym niemożliwe.
Współpracowałem z firmą Microsoft i firma Microsoft nie była w stanie zapewnić obejścia dla podpisywania lub żadnego innego sposobu na uzyskanie natychmiastowej reputacji w ramach SmartScreen.
źródło
Niestety nie mam wystarczającej liczby przedstawicieli, aby po prostu skomentować jedną z powyższych odpowiedzi. Jeśli jednak określisz częściowe zaufanie dla opublikowanej aplikacji (wybrałem strefę internetową) i masz ustawiony certyfikat do podpisywania kodu, nie zostanie wyświetlone żadne ostrzeżenie na ekranie inteligentnym (zaznaczone w systemie Win10).
źródło
Podpisuję swoją aplikację w sposób zautomatyzowany za pomocą certyfikatu EV na tokenie (GlobalSign). Użyj pliku .bat. w pliku „.bat” wpisz ex: (dla 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"
„Dokładna nazwa przedsiębiorstwa w tokenie certyfikatu” powinna być dokładną nazwą zawartą w certyfikacie (tokenie)
źródło
„Wersja pliku nie jest zgodna z wersją używanego systemu Windows”. Na serwerze Windows 2008 nie ma przycisku „Więcej informacji”, który można by mimo wszystko wybrać.
Ponieważ tworzymy oprogramowanie komputerowe dla systemu Windows (nie „Aplikacje”) przy użyciu produktów firm innych niż Microsoft (Delphi) i używamy programu Innosetup w naszym instalatorze, sprawdzanie poprawności aplikacji jest bez znaczenia. Jest tam przez 30 minut, nic nie robiąc, po prostu uruchamiamy aplikację, a następnie zamykamy ją ręcznie, a ona generuje raport o zaliczeniu.
Podpisujemy kodem wszystkie nasze wydania i każdy plik wykonywalny w nich.
Gdy przesyłamy plik XML do firmy Microsoft, certyfikowany plik XML znajduje się w witrynie niepowiązanej z naszym głównym kontem programisty, bez możliwości opublikowania go w sklepie Microsoft Store. 45 minut na aplikację.
źródło