Laden...

Software signieren, um bei der Installation den Hinweis "unbekannten Herausgebers" zu vermeiden

Erstellt von kom2006 vor 12 Jahren Letzter Beitrag vor 12 Jahren 10.865 Views
K
kom2006 Themenstarter:in
110 Beiträge seit 2007
vor 12 Jahren
Software signieren, um bei der Installation den Hinweis "unbekannten Herausgebers" zu vermeiden

Hallo zusammen,

ich suche aktuelle Infos zum Thema "Software signieren". Also das Signieren von z.B. einem Setup, damit unter Windows der Hinweis des "unbekannten Herausgebers" unterbleibt und sichergestellt wird, dass die Software aus einer bestimmten Quelle stammt. Ich habe dazu im Web nicht so recht passende Infos gefunden.

Mir geht es dabei speziell um folgende Punkte:*Was für ein Zertifikat genau benötigt man dafür? *Wer sind "gute" Anbieter solcher Zertifikate? *Lässt sich der Signierungsvorgang im VS Buildprozess integrieren (ich nehme an, ja)?

Danke und Grüße!

175 Beiträge seit 2010
vor 12 Jahren

Was für ein Zertifikat genau benötigt man dafür?

Du brauchst ein sog. "Code Signing Certificate".

Wer sind "gute" Anbieter solcher Zertifikate?

Alle Anbieter, die auch "normale" Zertifikate ausstellen, also Thawte, VeriSign etc. Günstig ist "StartSSL".

Lässt sich der Signierungsvorgang im VS Buildprozess integrieren (ich nehme an, ja)?

Yepp... Machst Du einen Rechtsklick auf Dein Projekt, wählst "Eigenschaften" und im folgenden Dialog den Tab "Signierung". Dort gibt es die Option "Assembly signieren". Alternativ "per Hand" mit dem Kommandozeilentool "signtool.exe".

Kochrezept: Code Signing Certificate von StartSSL
Code signing mit StartSSL – Teil 1
Code signing mit StartSSL – Teil 2
Code signing mit StartSSL – Teil 3

Alles klar?!? 😉

Bye,
Michael

Debuggers don't remove Bugs, they only show them in Slow-Motion.

238 Beiträge seit 2007
vor 12 Jahren

Yepp... Machst Du einen Rechtsklick auf Dein Projekt, wählst "Eigenschaften" und im folgenden Dialog den Tab "Signierung". Dort gibt es die Option "Assembly signieren". Alternativ "per Hand" mit dem Kommandozeilentool "signtool.exe".

Vorsicht, der Punkt "Assembly signieren" im VS und die Signatur mit dem signtool sind zwei unterschiedliche paar Schuhe.
Erstere signiert das .NET Assembly mit einem starken Namen mit dem privaten Schlüssel des CodeSignatur-Zertifikates. Diese Assemblysignatur ist aber keine Authenticode Signatur die benötigt wird um z.B. die Meldung "Unbekannter Herausgeber" zu entfernen. Diese bekommt man nur mit dem signtool.

Grüße,
Max

K
kom2006 Themenstarter:in
110 Beiträge seit 2007
vor 12 Jahren

Vorsicht, der Punkt "Assembly signieren" im VS und die Signatur mit dem signtool sind zwei unterschiedliche paar Schuhe.
Erstere signiert das .NET Assembly mit einem starken Namen mit dem privaten Schlüssel des CodeSignatur-Zertifikates. Diese Assemblysignatur ist aber keine Authenticode Signatur die benötigt wird um z.B. die Meldung "Unbekannter Herausgeber" zu entfernen. Diese bekommt man nur mit dem signtool.

Genau das war der Punkt bzgl. meiner Unsicherheit, WAS für ein Zertifikat ich benötige.

Ich hatte einen Anbieter gefunden, bei dem ich im ersten Step zwischen ca. 10 Zertifikatstypen wählen musste, und da war dann aus bei mir 😉

238 Beiträge seit 2007
vor 12 Jahren

Wenn im Zertifikatstyp etwas von (Microsoft) Authenticode vorkommt, dann kannst du damit ordentliche Signaturen für Windows-Binaries (dll, exe, ocx, etc) erstellen.

Grüße,
Max

2.891 Beiträge seit 2004
vor 12 Jahren

Eine gute Übersicht und Anleitung - was es ist und vor allem, was es nicht ist - gibt es auch noch unter Jeff Wilcox – Getting started with code signing for under $100.
Ansonsten schließe mich den Antworten von Maximilian voll und ganz an.

Worauf du außerdem achten solltest, ist die Zertifikatsausstellerkette. Also ob das Root-Zertifikat schon standardmäßig im Betriebssystem vorhanden ist - denn wenn dem nicht so ist, bekommst du weiterhin die "unbekannter Herausgeber"-Meldung.
Es gibt zwar Anbieter, bei denen du Zertifikate sehr kostengünstig oder sogar kostenlos bekommst, aber in der Regel muss man deren Root-Zertifikat erst nachinstallieren (z.B. bei CACert), oder aber es wird von vielen Betriebssystemen/Browsern/etc. akzeptiert, aber eben nicht von allen (afaik zählt StartSSL zu denen).
Relativ sicher, dass das Zertifikat auch als vertrauenswürdig anerkannt wird, sollte man sich bei den großen Anbietern (Thawte, VeriSign, Comodo) sein können - allerdings sind deren Zertifikate üblicherweise relativ teuer (mehrere Hunderter). Jedoch gibt es auch Reseller, die deren Zertifikate sehr günstig anbieten (wir nutzen z.B. K-Software: ab 73$ pro Jahr).

dN!3L

K
kom2006 Themenstarter:in
110 Beiträge seit 2007
vor 12 Jahren

Danke Dir, ich habe jetzt eins bei K-Software bestellt.