EXE für Microsoft Windows signieren

Nach einer gefühlten Ewigkeit habe ich wiedermal eine kleine Applikation für Windows geschrieben. Das Programmieren in C# ging eigentlich ganz gut und auch WPF ist eigentlich ziemlich logisch aufgebaut und es gibt jetzt keine riesigen Unterschiede zu Java oder ähnlichen Sprachen. Was auch damals schon ganz gut war und mir auch heute noch ganz gut gefällt ist Visual Studio. Aber jetzt zum eigentlichen Thema. Wenn man die erstellte EXE Datei anschließend auf seine Webseite stellen möchte und Leuten zum Download anbietet funktioniert das auch wie erwartet.

Aber vor dem eigentlichen Start gibt es dann eine Warnung von Windows. Hier zum Beispiel von Windows 10.

Der Benutzer muss also auf den (nur schwer als Button erkennbaren) Button „More info“ klicken und kann dann das „Run anyway“ auswählen. Eigentlich eine gute Sache, damit nicht jeder jede EXE aufmacht und sich einen der unzähligen Windows Viren einfängt. Also hab ich mal ein bisschen gegoogelt, wie man vertrauenswürdiger Entwickler wird. Nach ein paar verwirrenden Beiträgen über Code Signing und ClickOnce Installationen etc. kommt man zum Schluss, dass man ein Code Signing Certificate braucht. Damit dies auch von Windows unterstützt wird, muss es von einer der großen vertrauenswürdigen CAs kommen. Also gut nachgeschaut was man so bezahlen muss, nachdem es keine kostenlosen Zertifikate gibt. Bei den großen muss man irgendwas so zwischen 250-500€ bezahlen. Schlussendlich gibt es dann auch noch ein paar günstigere Reseller, aber dort muss man auch noch 65-80€ pro Jahr bezahlen.

Für Firmen ist das natürlich kein Problem, aber wenn man als Privatperson mal eben ein kleines Tool machen möchte, ist der Preis schon etwas heftig. Vor allem weil man sich dann auch jedes Jahr wieder darum kümmern muss, dass das Zertifikat nicht abläuft. Ich hätte mir irgendeine Lösung von Microsoft gewünscht, aber bin leider nicht fündig geworden. Naja müssen die User halt zwei zusätzliche Klicks machen und auf der Webseite muss man eine Erklärung dazu schreiben.

Leave a Reply