Wenn Sie das Installationsprogramm mit einem von einer Zertifizierungsstelle gekauften Zertifikat signiert haben, sollten Sie sich an die Zertifizierungsstelle wenden, um zu erläutern, warum diese nicht mit Microsoft zusammengearbeitet hat, um diese Warnung zu entfernen.
Wenn das Zertifikat nicht von einer Zertifizierungsstelle stammt, sondern von einem selbstsignierten Zertifikat, müssen Sie auf eine Zertifizierungsstelle zurückgreifen.
Microsoft hat die meisten Informationen bereits in seinem Windows-Teamblog veröffentlicht.
https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signing-certificates/
Empfohlene Vorgehensweise
Entwickler sollten weiterhin die Best Practices befolgen, die wir in früheren Blog-Posts vorgeschlagen haben. Wir haben dieser Anleitung die zusätzlichen Optionen zum Verteilen von Apps über den Windows Store und die Option zum Signieren von EV-Code hinzugefügt:
- Verteilen Sie Ihre Apps über den Windows Store
Windows 8-Anwendungen sind erforderlich, um den Onboarding- und Anwendungsüberprüfungsprozess des Windows Store-Entwicklers zu bestehen. Windows 8-Anwendungen sind in Windows 8 nicht für die Überprüfung oder Warnung von SmartScreen-Anwendungen vorgesehen.
- Signieren Sie Ihre Programme digital (Standard- oder EV-Codesignatur)
Reputation wird generiert und digitalen Zertifikaten sowie bestimmten Dateien zugewiesen. Mit digitalen Zertifikaten können Daten aggregiert und einem einzelnen Zertifikat zugewiesen werden, anstatt vielen einzelnen Programmen. Obwohl dies nicht erforderlich ist, können Programme, die mit einem EV-Codesignaturzertifikat signiert sind, sofort eine Reputation bei SmartScreen-Reputationsdiensten herstellen, selbst wenn für diese Datei oder diesen Herausgeber keine vorherige Reputation besteht. EV-Codesignaturzertifikate haben auch eine eindeutige Kennung, die es einfacher macht, die Reputation bei Zertifikatserneuerungen aufrechtzuerhalten. Nur Authenticode-Zertifikate, die von einer Zertifizierungsstelle ausgestellt wurden, die Mitglied des Windows-Stammzertifizierungsprogramms ist, können die Reputation herstellen.
Derzeit bieten Symantec und DigiCert EV-Codesignaturzertifikate an.
- Unterschreiben oder verbreiten Sie keinen schädlichen Code
Durch das Verteilen von als bösartig erkanntem Code wird die Reputation aus einer Datei und auch jede Reputation aus dem zugehörigen digitalen Zertifikat entfernt - selbst wenn sie mit einem EV-Codesignaturzertifikat signiert ist.
- Beantragen Sie ein Windows-Logo oder eine Windows 8 Desktop App-Zertifizierung
Weitere Informationen zu diesen Programmen finden Sie hier: Windows 8 Desktop App-Zertifizierung (für Windows Store-Übermittlungen erforderlich) Windows-Logo-Programm
Wir haben gerade den gesamten Prozess des Wechsels von einem alten Authenticode-Zertifikat zu einem neuen durchlaufen (kein EV-Zertifikat, sondern nur ein einfaches Zertifikat, das in unserem automatisierten Erstellungsprozess verwendet werden kann).
Microsoft bietet keine Möglichkeit mehr, die Reputation von einem vorhandenen Zertifikat auf ein neues zu übertragen. Versuchen Sie also nicht, ihren Support anzurufen. Sie verschwenden nur viel Zeit und Energie. Und sie werden nicht helfen können.
Microsoft behauptet, dass die Reputation schneller hergestellt wird, wenn das alte und das neue Zertifikat denselben Textinhalt haben. Im Folgenden finden Sie die Antwort, die ich vom Support-Team für Anwendungsreputation des SmartScreen®-Filters erhalten habe :
Der beste Weg, um sicherzustellen, dass SmartScreen die Benutzer nicht warnt, besteht darin, das Windows App Certification Kit (WACK) auszuführen, das im Windows SDK-Download enthalten sein sollte:
Nach dem Ausführen der Tests erklärt WACK, wie es weitergeht:
Laden Sie das XML-Ergebnis einer erfolgreichen Anwendungszertifizierung auf https://sysdev.microsoft.com hoch . Einige Tage später wird SmartScreen die für das zertifizierte Programm verwendete digitale Signatur kennen und die Benutzer beim Herunterladen nicht mehr warnen.
Hinweis Wir konnten unsere Anwendung nicht für die neuesten Updates von Windows 8.1 zertifizieren und mussten eine Neuinstallation von Windows 8.1 verwenden, damit WACK alle unsere Programme erfolgreich validieren konnte.
quelle
Ich habe eine Weile gesucht, also werde ich teilen, was ich bisher gefunden habe.
Ich habe keine Dokumentation zu dieser Funktion in Windows 8 von Microsoft gefunden, aber ich suche möglicherweise nur an den falschen Stellen.
In den meisten Artikeln, die ich lese, wird beschrieben, dass der SmartScreen-Filter wie folgt funktioniert:
Wenn genügend Benutzer dieses Installationsprogramm ausgeführt haben, ohne es als bösartig zu melden, wird dieses Programm möglicherweise als sicher gekennzeichnet, und andere Benutzer erhalten die nervige Nachricht nicht.
einige Quellen: ( hier ) ( hier )
Die Informationen, die an Microsoft gesendet werden, wenn ein Benutzer ein Programm installiert, umfassen die IP-Adresse, einen Hash des Installationsprogramms und die digitale Signatur sowie möglicherweise den Dateinamen der Anwendung. ( siehe hier )
Microsoft-Mitarbeiter hätten direkten Zugriff auf die Datenbank, um alle Microsoft-Anwendungen hinzuzufügen und als sicher zu kennzeichnen.
Möglicherweise hat Microsoft eine Möglichkeit eingerichtet, Ihr Installationsprogramm vorab zu zertifizieren. Andernfalls müssen Sie möglicherweise nur warten, bis genügend Benutzer das Installationsprogramm ausführen. (aber nicht sicher, wie viele das sein würden).
quelle
log.nadim.cc/?p=78
ist unterbrochen und selbst die Way Back Machine zeigt keinen Inhalt an. Gibt es alternative Speicherorte für den Inhalt?Ich habe gerade diesen Prozess durchlaufen und werde dem ein paar Informationen hinzufügen.
1) Holen Sie sich einen EV. Das ist es wert. Aktualisieren Sie beim nächsten Upgrade Ihrer Zertifikate auf ein EV-Zertifikat. Der Preis beträgt ca. 100 USD mehr pro Jahr. EV-Zertifikate gelten als sicherer, da sie schwerer zu stehlen sind. Bei der Ausstellung erhalten Sie ein Hardware-Token-Gerät, um das Zeichen zu vervollständigen. Leider ist das letzte Zeichen nicht mit automatisierten Builds kompatibel.
Es ist nicht so schrecklich, wie es sich anhört. Sie erhalten ein zweites Zertifikat zum Signieren Ihrer ausführbaren Dateien (im Installationsprogramm), das weiterhin mit der Automatisierung kompatibel ist. Die Signatur auf dem Installationsprogramm muss in Verbindung mit dem Hardware-Token signiert werden.
2) Wenn Sie kein EV-Zertifikat erhalten möchten, benötigen Sie einen guten Ruf. Wenn Sie ein Upgrade durchführen, überträgt Microsoft die Reputation von Ihrem alten Zertifikat auf Ihr neues. Sie müssen sich an den technischen Support von MSDN wenden. In ungefähr einer Woche ist dies erledigt. Ich habe meine alten und neuen Installer - mit alten und neuen Zertifikaten - eingereicht und sie haben es behoben.
3) Wenn dies Ihr erstes Zertifikat ist, bleiben Sie bei SmartScreen, bis Sie einen guten Ruf erhalten. Sie sollten Ihre App wahrscheinlich über sysdev.microsoft.com zertifizieren lassen. Es ist jedoch nicht wirklich bekannt, wie viele Downloads Sie benötigen, bevor Sie sich bei Microsoft einen guten Ruf erarbeiten.
Das ist meine Erfahrung.
quelle
Da ist Windows 8.1 raus.
Microsoft hat alle Standard-Codesignaturzertifikate deaktiviert, um vertrauenswürdig zu sein, wenn Sie sie über das Internet auf Ihren PC herunterladen und versuchen, sie zu installieren. Die Anwendung Standard-Codesignaturzertifikate funktioniert jedoch, wenn Sie Ihre Anwendung über USB oder CD-ROM verteilen.
Verwenden Sie das nicht, um
signtool.exe
zu überprüfen (signtool.exe verify /pa mysetup.exe
wird erfolgreich angezeigt, aber es schlägt fehl, wenn andere Benutzer es herunterladen und versuchen, ein SmartScreen-Popup zu installieren, das weiterhin angezeigt wird).Verwenden Sie das Windows App Certification Kit (WACK).
Sie müssen ein EV-Zertifikat erwerben ( https://www.globalsign.com/de/code-signing/ ).
Um 100% Erfolg zu haben, folgen Sie dem Löffel-Feed:
Schritt 1: Gehen Sie zu https://sysdev.microsoft.com und melden Sie sich an
a) Erstellen Sie ein Firmenkonto> weiter
b) Laden Sie die Datei winqual.exe herunter, die als von Microsoft bereitgestellte Zip-Datei vorliegt. Signieren Sie nun die Datei winqual.exe mit Ihrem Standardzertifikat oder EV-Zertifikat und klicken Sie auf Weiter, um die Datei zur Validierung hochzuladen.
In meinem Fall ist es fehlgeschlagen, weil ich ein Standardzertifikat habe, das Microsoft nicht mehr zulässt. Alles, was Sie jetzt tun müssen, ist, eine EV-Lizenz zu kaufen, sonst sind Sie geschraubt und können Ihr Leben damit verbringen, dieses Problem ohne Anhaltspunkt zu lösen.
quelle
Ich habe die EV-Zertifizierungslösung getestet und sie funktioniert.
Leider werde ich auch erwähnen, dass EV-Zertifikate nicht mit TeamBuild kompatibel sind, das das Signieren im Kontext eines Dienstes ausführt. Für EV-Zertifikate ist ein Hardware-Token erforderlich, das mit dem von SafeNet, Inc bereitgestellten Cryptographic Service Provider verbunden ist und von allen autorisierten EV-Zertifizierungsanbietern (VeriSign und DigiCert) verwendet werden kann.
Beim Signieren werden die Treiber von Safenet zur Eingabe eines Kennworts aufgefordert, das mit der Ausführung im Rahmen eines Dienstes nicht kompatibel ist. Darüber hinaus bietet Safenet einen Schutz, der verhindert, dass etwas anderes als die eigentliche Konsole signiert. Sie können nicht einmal innerhalb einer Remotedesktopsitzung signieren. Das Signieren innerhalb von Teambuild ist also bestenfalls problematisch und im schlimmsten Fall nicht möglich.
Ich habe mit Microsoft zusammengearbeitet und sie konnten keine Problemumgehung für das Signieren oder eine andere Möglichkeit bieten, um unter SmartScreen einen sofortigen Ruf zu erlangen.
quelle
Leider habe ich nicht genug Repräsentanten, um einfach eine der obigen Antworten zu kommentieren. Wenn Sie jedoch eine teilweise Vertrauenswürdigkeit für Ihre veröffentlichte App angeben (ich habe die Internetzone ausgewählt) und über ein Codesignaturzertifikat verfügen, wird keine Smart-Screen-Warnung angezeigt (unter Win10 aktiviert).
quelle
Ich signiere meine Bewerbung automatisiert mit einem EV-Zertifikat auf einem Token (GlobalSign). Verwenden Sie eine .bat-Datei. Geben Sie in die Datei ".bat" ex ein: (Für 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"
Der "Genaue Unternehmensname im Zertifikatstoken" sollte der genaue Name sein, der im Zertifikat (Token) enthalten ist.
quelle
"Die Version der Datei ist nicht mit der Version von Windows kompatibel, die Sie ausführen". Unter Windows 2008 Server gibt es ohnehin keine Schaltfläche "Weitere Informationen" zur Installation.
Da wir Windows-Desktopsoftware (nicht "Apps") mit Nicht-Microsoft-Produkten (Delphi) entwickeln und Innosetup für unser Installationsprogramm verwenden, ist die App-Validierung bedeutungslos. Es sitzt dort für 30 Minuten und tut nichts. Wir starten einfach die App, schließen sie dann manuell und generieren einen Passbericht.
Wir signieren alle unsere Releases und alle darin enthaltenen ausführbaren Dateien.
Wenn wir das XML auf Microsoft hochladen, befindet sich das zertifizierte XML auf einer Site, die nicht mit unserem Hauptentwicklerkonto zusammenhängt, und kann nicht im Microsoft Store veröffentlicht werden. Pro Anwendung werden 45 Minuten verschwendet.
quelle