AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Code Signing - Grundsatzfragen

Ein Thema von Ares · begonnen am 12. Mai 2010 · letzter Beitrag vom 11. Mai 2011
Antwort Antwort
Seite 1 von 3  1 23      
Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#1

Code Signing - Grundsatzfragen

  Alt 12. Mai 2010, 10:31
Hallo!

Ich beschäftige mich derzeit mit dem Thema Code Signing. Die Theorie hinter dem Ganzen (was ist ein Zertifikat, wie wird ein "Dokument" signiert, PK, etc.) ist mir bekannt, nur am Verständnis der praktischen Nutzung beim Code Signing fehtl es noch

Den Beitrag zur Erstellung eigener Zertifikate fand ich schon einmal sehr hilfreich. Ein paar Fragen habe ich aber noch:

Mein Ziel:
Ich möchte meine Programme (EXE, DLL aus Delphi und Visual Studio) signieren, damit unter Vista und Windows 7 nicht mehr "Herausgeber: Unbekannt" angezeigt, sondern mein Name verwendet wird.

Da ich auch kleine Programme verkaufe möchte ich nicht mit einem selbst erstellten Zertifikat arbeiten sondern mit einem "richtigen" von einem offiziellem Anbieter. Für diesen Zweck gibt es ja einige Anbieter die jeweils verschiedene Zertifikate im Angebot haben. Dazu direkt die erste Frage:

Frage 1:
Warum gibt es für verschieden Zwecke unterschiedliche Zertifikate? Ein Zertifikat ist doch eigentlich nur die Bestätigung, dass hinter der Signatur XYZ die geprüfte reale Person oder Firma ABC steht. Theoretisch kann ich mit den Schlüsseln eines Zertifikates alles signieren egal ob Worddokument, EXE-Datei oder JPG-Bild. Wo liegt der Unterschied in den Zertifikaten für unterschiedliche Zwecke? Ist das nur Produktpolitik ("Für ein bisschen EXE-Signieren bekommst du das Zertifikat für 300 EUR, wenn mehr signiert wird wirds auch teurer"), oder gibt es dazu einen echten technischen Hintergrund?

Frage 2:
Da verschiedene Zertifikate für verschiedene Zwecke angeboten werden muss ich mir das für meine Zwecke richtige aussuchen. Worauf muss ich dabei achten? Gibt es technische Bedienungen die für den Einsatz "EXE und DLLs signieren" zu beachten sind?

Frage 3:
In einem Dokument von VeriSign (Seite 4) ist zu lesen "Authenticode is currently used to sign 32-bit .exe files...". Heißt dass, dass wirklich nur 32bit EXE Dateien signiert werden können und z.B. 64 Bit EXE Dateien nicht?


Die Preisspannen der verschiedenen Anbieter sind teilweise ja sehr deutlich. Soweit ich verstanden habe ist VeriSign der einzige Anbieter der voll mit Microsoft zusammenarbeitet und daher direkt mit seinem Root-Zertifikat in Windows bekannt ist. Das kann man als Argument für die höheren Preise gelten lassen.

Den Webseiten der Anbieter habe ich folgende Preise pro Jahr entnommen:
VeriSign: 399 EUR (499$)
Thawte: 239 EUR (299$)
Comodo: 166 EUR
Certrum.eu: 135 EUR

Frage 4:
...gibt es zwischen den restlichen Anbietern nennenswerte Unterschiede? Gibt es bei einem "Billiganbieter" irgendwelche Nachteile die man berücksichtigen sollte?


Ich habe mir unter einem frischen Windows 7 im Internet Explorer (Internetoptionen\Inhalte\Zertifikate\Vertrausenwü rde Stammzertifizierungstellen) die liste der vorhanden Stammzertifikate angeschaut. Neben verschiedenen Einträgen von Microsoft und VeriSign sind hier auch Einträge von CyberTrust und Thawte enthalten.

Frage 5:
Heißen die Einträge in der Liste der Stammzertifikate, dass CyberTrust und Thawte den gleichen Vorteil haben wie VeriSign?

Frage 6:
Das Zertrifikat von Thawte ist eingetragen als "Zeitstempel". Was hat es damit auf sich?

Frage 7:
Nachdem ich mir das Zertifikat einer EXE angeschaut habe, die mit einem Comodo-Zertifikat signiert ist, stand auch USERTrust (=Comodo) ohne weiteres Zutun in der Liste der Stammzertifikate. Wie ist es dort ohne Nachfrage hinein gekommen? Gehe ich also recht in der Annahme, dass es kein allzu großer Nachteil ist, wenn man einen günstigen Anbieter wählt da dessen Zertifikate bei Bedarf direkt nachgeladen werden?


Frage 8:
Wenn ich mich nun für einen Anbieter entscheide, was erhalte ich dann von diesem? Ich gehe davon aus, dass ich nur eine Datei mit öffentlichem und privaten Schlüssel erhalte so, dass ich dann meine Dateien signieren kann. Oder brauche ich je nach Anbieter spezielle Tools um damit die Signierung durchführen zu können?


(vorerst) Letzte Frage:
Im Moment ist mir Comodo am sympathischen. Hat hiermit jemand konkrete Erfahrungen und kann Vor- und Nachteile nennen?


EDIT: Doch noch eine Frage
Genügen die angebotenen Zertifikate den Anforderungen des Windows Logo Programms?


So, dass soll es erst mal mit Fragen gewesen sein. Schon einmal vielen Dank für die Hilfe!
Ares
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)
Online

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#2

Re: Code Signing - Grundsatzfragen

  Alt 12. Mai 2010, 10:46
Zum Vorgehen:
Du erstellst zuerst einen CR (Certificate Request). Das ist ein mit Deinem bei Dir generierten privaten Key signierter Request zusammen mit einem auch von Dir generierten öffentlichen Schlüssel.

Aus diesem erstellt die Stammzertifizierungsstelle dein Zertifikat, Signiert mit ihrem privaten Key (so dass Dein Cert mit deren öffentlichen Schlüssel auf Echtheit geprüft werden kann). Dieses Zertifikat enthält auch Deinen öffentlichen Schlüssel.

Das heisst, also, wenn jemand das Cert. prüft, weiss er, dass Dein öffentlicher Schlüssel zumindest von der Stammzertifizierungsstelle als Deiner geführt wird. Mit Deinem Schlüssel wird dann die Signatur der Datei geprüft, die Du ja mit Deinem privaten Schlüssel machst -> Alles in Butter.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Code Signing - Grundsatzfragen

  Alt 12. Mai 2010, 10:50
2: Du brauchst Code-Signing nach Microsoft® Authenticode®

3: Geht auch 64-Bit (http://www.verisign.de/code-signing/...ode/index.html)

4: Bei Verisign ist es möglich das bei Anwendungsabstürzen der Callsstack+Umgebung an MS gesendet wird und du es dort abholen kannst um den Fehler nachzuvollziehen. Haben wir bisher nicht gemacht.


5: Wenn die nötigen Root-Zertifikate schon bei "frischen" Windows vorhanden sind das hat du überall die gleichen Vorteile bzgl. Warnmeldung.

8: Die nötigen Tools sind in den SDK's von MS vorhanden. Habe hier das Microsoft Platform SDK for Windows Server 2003 R2 im einsatz (unter Vista). Letztendlich brauchst du die "signtool.exe" welche noch die capicom.dll zieht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#4

Re: Code Signing - Grundsatzfragen

  Alt 12. Mai 2010, 10:52
Hallo Phoenix!

Schon mal vielen Dank für die Antwort. Also das Schlüsselpaar wird von mir selbst erstellt und nicht von der Zertifizierungsstelle? Das ist mir schon mal neu. Vielen Dank für den Hinweis.

Die Erstellung des Schlüssels wird dann z.B. mit makecert.exe vorgenommen oder gibt es da besondere Dinge zu beachten?
  Mit Zitat antworten Zitat
Achim Kalwa

Registriert seit: 2. Apr 2005
Ort: Lienen
110 Beiträge
 
Delphi 12 Athens
 
#5

Re: Code Signing - Grundsatzfragen

  Alt 12. Mai 2010, 22:59
Zitat von Ares:
Die Erstellung des Schlüssels wird dann z.B. mit makecert.exe vorgenommen oder gibt es da besondere Dinge zu beachten?
Typischerweise macht das ein Active-X Plugin im Internet-Explorer.
Bei einigen Anbietern geht das wohl auch mit Firefox, aber Comodo unterstützt wohl nur den IE.

Bei Certum.eu wird übrigens öfters mal auf Certum.pl weiter geleitet; ab da musst Du Polnisch können um weiter zu kommen Für mich ein klarer Minuspunkt.

Noch günstiger ist ksoftware.net; ein Reseller von Comodo:
https://secure.ksoftware.net/code_signing.html

Da kostet das benötigte Zertifikat nur 99 US$ für ein Jahr; umrechnen in Euro überlasse ich Dir
Dort habe ich mein Code Signing Certificate bestellt; die gesamte Abwicklung erfolgte aber via Comodo.

Du bekommst eine Datei zurück, die Du gut aufheben solltest

Nach dem Import der Datei in den IE (Zertifikatspeicher) kann man daraus eine PFX-Datei erzeugen (und mit einem Passwort versehen), die dann von SignTool.exe verwendet wird um Deine Exe zu signieren. Dabei muss das zuvor gewählte Password wieder eingegeben werden.

Ich hoffe, das beantwortet schon mal einen Teil Deiner Fragen.

KalwaDOS
Achim
  Mit Zitat antworten Zitat
Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#6

Re: Code Signing - Grundsatzfragen

  Alt 13. Mai 2010, 09:23
Hallo KalwaDOS!

Vielen Dank für deine Antwort! Die Preise von ksoftware.net klingen ja sehr interessant

Das Stammzertifikat von Comodo ist ja nicht automatisch in Windows enthalten. Hast du Erfahrungen damit, wie das Zertifikat dort angezeigt wird? Muss der Nutzer das Zertifikat erst manuell akzeptieren, ein Stammzertifikat-Update installieren oder ähnliches? Oder wird das Zertifikat automatisch (auch in älteren Windows Versionen?) korrekt erkannt und angezeigt?

Gibt es bei diesem "Discount" Zertifikat noch irgendwelche Besonderheiten die man beachten sollte? Oder hast du nur gute Erfahrungen damit gemacht? In dem Fall würde ich die 99$ einfach mal riskieren und versuchen mir die weiteren Fragen in der Praxis selber zu beantworten

Besten Dank
Ares
  Mit Zitat antworten Zitat
Achim Kalwa

Registriert seit: 2. Apr 2005
Ort: Lienen
110 Beiträge
 
Delphi 12 Athens
 
#7

Re: Code Signing - Grundsatzfragen

  Alt 13. Mai 2010, 13:21
Zitat von Ares:
Das Stammzertifikat von Comodo ist ja nicht automatisch in Windows enthalten.
Ist es nicht?
Bei Microsoft ist es aber gelistet:
http://download.microsoft.com/downlo...ber%202009.pdf

Ich werde nachher mal eine frische VM aufsetzen und prüfen, was bei meinen Anwendungen so angezeigt wird.

Updates der Stammzertifikate werden von Microsoft per Windows-Update ausgeliefert.
Man kann das auch manuell nachinstallieren:
http://support.microsoft.com/kb/931125
Achim
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#8

Re: Code Signing - Grundsatzfragen

  Alt 13. Mai 2010, 15:07
Zitat von Ares:
[...] Vielen Dank für deine Antwort! Die Preise von ksoftware.net klingen ja sehr interessant [...]
Noch günstiger (bei gleicher Leistung, da ebenfalls Reseller von Comodo) ist es bei https://author.tucows.com

Nach (kostenfreier) Registrierung als Software-Autor kann man unter Home->Resources->Code Signing Certificates bei Comodo Zertifikate für 75 US$ pro Jahr bestellen (oder 140 US$ für zwei Jahre oder 195 US$ für drei Jahre).

Die Abwicklung geschieht hier genau wie bei ksoftware.net direkt über Comodo.

Ich kann es nur empfehlen - und einen günstigeren Anbieter habe ich bisher auch noch nicht gesehen.
Robert Wachtel
  Mit Zitat antworten Zitat
ak-ac

Registriert seit: 10. Apr 2009
26 Beiträge
 
#9

Re: Code Signing - Grundsatzfragen

  Alt 31. Mai 2010, 20:08
ist das dann eingeschränkt für shareware tools oder kann man das auch mit kommerzieller software nutzen? klingt mit der registrierung irgendwie so...
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#10

Re: Code Signing - Grundsatzfragen

  Alt 1. Jun 2010, 12:52
Wo klingt das eingeschränkt? Ein Comodo-Zertifikat ist ein Comodo-Zertifikat. Punkt.
Robert Wachtel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz