AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Eigene Anwendungen digital signieren - eine Mini-Einführung
Tutorial durchsuchen
Ansicht
Themen-Optionen

Eigene Anwendungen digital signieren - eine Mini-Einführung

Ein Tutorial von Daniel · begonnen am 22. Apr 2007 · letzter Beitrag vom 5. Feb 2015
Antwort Antwort
Seite 4 von 10   « Erste     234 56     Letzte »    
Daniel
Registriert seit: 30. Mai 2002
Selbst Code signieren

Das ist die absolute Kurzfassung für diejenigen, die mal eben mit digitalen Signaturen herumspielen möchten. In diesem Beispiel wird ein eigenes digitales Zertifikat erzeugt und dann lokal auf dem Rechner installiert.

Warum selbst signieren?
Wird eine nicht signierte Anwendung unter Vista als Administrator ausgeführt, so erscheint das Fenster der Benutzerkonten-Steuerung in recht hässlicher Art und Weise:


Eine digital signierte Anwendung lässt dieses Fenster schon etwas angenehmer ausschauen:


Im professionellen Einsatz wird man um den Erwerb eines Zertifikates nicht umhin kommen, doch für erste Gehversuche auf dem lokalen Rechner kann diese „Spar-Variante“ ausreichen. Kleiner Bonus am Rande: Man kann hiermit auch Treiber signieren und damit zum Beispiel die Vista-Varianten zufriedenstellen, die auf digital signierte Treiber bestehen. Eine weitere Einsatzmöglichkeit für dieses Zertifikat wäre das digitale Signieren einer Anwendung, die nur haus-intern eingesetzt wird, wo der Erwerb eines Zertifikates also nicht zwingend notwendig wäre.

Mit den folgenden zwei Befehlen wird ein Minimal-Zertifikat erstellt und auf dem lokalen Rechner installiert. In meinem Beispiel wird das Zertifikat in der Datei „d:\my_certificate.cer“ gesichert, diesen Pfad müsst Ihr ggf. an Euer System anpassen. Für die Installation des Zertifikates in Schritt #2 werden administrative Rechte benötigt. Die beiden verwendeten Werkzeuge „makecert“ und „signtool“ sind Bestandteile des .NET SDK von Microsoft und finden sich im .\BIN-Verzeichnis der .NET-SDK-Installation.

1) Zertifikat erzeugen:
Code:
makecert.exe -$ individual -r -pe -ss "DP Certificate Store" -n CN="DP Signierung" "d:\my_certificate.cer"
2) Das frisch erzeugte Zertifikat In den Speicher vertrauenswürdiger Stammzertifizierungsstellen installieren:
Code:
certmgr.exe /add "d:\my_certificate.cer " /s /r localMachine root
Nun können wir dieses Zertifikat auf unserem lokalen Rechner nutzen. Soll das Zertifikat auch auf anderen Rechnern genutzt werden, so muss die Zertifikatsdatei auf den anderen Rechner kopiert werden und danach der Schritt #2 auf diesem Rechner ausgeführt werden (ebenfalls mit Admin-Rechten).

3) Eine Datei mit dem neuen Zertifikat digital signieren:
Code:
signtool.exe sign /v /s "DP Certificate Store" /n " DP Signierung " {DATEINAME}
4) Die Signatur der Datei verifizieren:
Code:
signtool.exe verify /pa /v {DATEINAME}
Das als Mini-Einführung. Als weitere Referenz seien die Dokumentationen der beiden genutzten Werkzeuge erwähnt.
mit Grüßen aus Hamburg
 
CCRDude
 
#31
  Alt 17. Mai 2007, 15:07
Und der Haken ist weiter oben auch erwähnt - fremde Zertifikate werden in Firmennetzen oft per GP blockiert.
Außerdem sieht der Benutzer, der das nachschlägt (Rechtsklick auf Datei, Eigenschaften...) ja auch, welches "Root"-Zertifikat da benutzt wurde.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

 
Turbo Delphi für Win32
 
#32
  Alt 17. Mai 2007, 15:52
Zitat von sakura:
Zitat von 3_of_8:
Dem einfachen Benutzer wird eingeredet, dass unzertifizierte Programme sehr sehr gefährlich sind und auf keinen Fall vertrauenswürdig
Tut MS imo nicht, sie warnen jedoch den Nutzer zweimal hinzuschauen. Es ist kein Klick mehr oder weniger, wenn ein Zertifikat dabei ist oder nicht. Es wird lediglich anders dargestellt.
MS tut das *noch* nicht. Könnte sich ändern.

Zitat von sakura:
Zitat von 3_of_8:
Microsoft könnte in Zukunft sogar ohne Probleme ein Zertifikat zur Pflicht erklären.
Könnten Sie, ja. Aber damit kommen sie imo nicht durch. Was aber schon seit Windows 2000/XP geht, ist dass der Administrator eines Rechners/einer Domain vorschreibt, dass die Anwendungen digital signiert sein müssen, um diese zu starten.
Meinst du wirklich, der absolute Marktführer und Quasi-Monopolinhaber würde damit nicht durchkommen?
Manuel Eberl
  Mit Zitat antworten Zitat
CCRDude
 
#33
  Alt 17. Mai 2007, 16:04
Warum sollte Microsoft sich derart ins Bein schneiden? Ein guter Teil derart ausgeschlossener Hobbyprogrammierer würde dann doch in Richtung Linux abhauen, das auch noch herauszufordern, so dumm ist Microsoft auch wieder nicht.
Außerdem zeigt das auch die Vergangenheit - in einem Betriebssystem 100% auf nur noch vertraute Anwendungen zuzulassen wird schon seit Ewigkeiten diskutiert, und jede Ankündigung diverser reiner Trusted Platform-Hardware oder -Software ist bisher wieder ohne viel Aufheben untergegangen.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

 
Delphi 10.2 Tokyo Professional
 
#34
  Alt 18. Mai 2007, 10:47
Bin gerade im Entscheidungsfindungsprozess (auch ein schönes Wort...), darum noch ein paar Fragen:

Vorab:
Zitat von sakura:
Gleiches gilt für Vista-Certification, unterstützt MS nur mit VeriSign
Beschreibst du bitte ein wenig ausführlicher, was du hier meinst? Was geht nur mit VeriSign und nicht mit Zertifikaten von anderen Authorities?

Weiter:

1. Comodo gibt es ja schon relativ günstig bei diesem Reseller für 85$/Jahr. Kennt einer von euch vielleicht auch günstige VeriSign oder Thawte Reseller?

2. Sehe ich das aber richtig, dass Comodo nur für die Authenticode-Signierung ab Windows XP aufwärts und anderen Windows-Systeme mit Stammzertifikatsupdate funktioniert (da nur dort das entsprechende Root-Zertifikat bereits vorhanden ist)?

(...) und dass dagegen ein Zertifikat von Thawte, das ja offiziell mit 199$/Jahr nur 20$/Jahr teurer ist als eines von Comodo, zur Authenticode-, Java-, Macro-, Apple- und Marimba-Signierung ab Internet Explorer 4.0, Netscape 2.0, Java Virtual Machine 1.1 bzw. MacOS 9 benutzt werden kann?
Volker
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

 
Delphi 10.4 Sydney
 
#35
  Alt 18. Mai 2007, 10:56
Zitat von Flocke:
1. Comodo gibt es ja schon relativ günstig bei diesem Reseller für 85$/Jahr. Kennt einer von euch vielleicht auch günstige VeriSign oder Thawte Reseller?

2. Sehe ich das aber richtig, dass Comodo nur für die Authenticode-Signierung ab Windows XP aufwärts und anderen Windows-Systeme mit Stammzertifikatsupdate funktioniert (da nur dort das entsprechende Root-Zertifikat bereits vorhanden ist)?
Du hast nur dann einen Vorteil wenn deine Authentifizierungsstelle schon ein Root-Zertifikat in Windows hat. Suchst du dir einen günstigen der evtl. erst ab XP dabei ist es für ältere Windows-Versionen fast so als hättest du kein Zertifikat.

Zitat von Flocke:
(...) und dass dagegen ein Zertifikat von Thawte, das ja offiziell mit 199$/Jahr nur 20$/Jahr teurer ist als eines von Comodo, zur Authenticode-, Java-, Macro-, Apple- und Marimba-Signierung ab Internet Explorer 4.0, Netscape 2.0, Java Virtual Machine 1.1 bzw. MacOS 9 benutzt werden kann?
Es gibt viele unterschiedliche Zertifikate. Eine Übersicht bekommst du z.B. bei Versign - CodeSigning-Einstiegsseite. Und vermutlich bekommst du bei Thwate auch kein Ein-Für-Alles-Zertifikat, siehe auch Bestellseite Thwate
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 11 Alexandria
 
#36
  Alt 18. Mai 2007, 11:03
Zitat von Flocke:
Beschreibst du bitte ein wenig ausführlicher, was du hier meinst? Was geht nur mit VeriSign und nicht mit Zertifikaten von anderen Authorities?
Nein, nicht extra. Aber alles was auf http://winqual.microsoft.com steht geht ausschließlich mit VeriSign-Zertifikaten. Wie es mit anderen speziellen Services von MS aussieht, das weiß ich nicht.

......
Daniel W.
  Mit Zitat antworten Zitat
Gandalfus

 
Delphi 2006 Professional
 
#37
  Alt 18. Mai 2007, 12:06
Zitat:
Da kann man sagen, was man will, im Prinzip ist klar, was diese Maßnahme mal abgesehen von der Sicherheit bringt: Ein paar Firmen verdienen viel Geld und die kleinen Entwickler, Freeware und vor allem OpenSource stehen dumm da, weil sie sich diese Zertifikate nicht leisten können. Dem einfachen Benutzer wird eingeredet, dass unzertifizierte Programme sehr sehr gefährlich sind und auf keinen Fall vertrauenswürdig
genau! Wenn es wirklich um mehr Sicherheit gehen würde gäbe es die Zertifikat von Microsoft umsonst. So ist es nur eine Schikane für Hobbyprogrammierer und OpenSource.
  Mit Zitat antworten Zitat
Assertor

 
Turbo C++
 
#38
  Alt 18. Mai 2007, 12:17
Zitat von Gandalfus:
genau! Wenn es wirklich um mehr Sicherheit gehen würde gäbe es die Zertifikat von Microsoft umsonst. So ist es nur eine Schikane für Hobbyprogrammierer und OpenSource.
Hmm, daß das ärgerlich ist, verstehe ich genauso. Kostet hier ja auch wieder Geld.

Aber:
Zertifikate haben auch etwas mit rechtlicher Haftung zu tun. Würdest Du für jemanden Dir unbekannten z.B. mit Deinem Bankkonto haften - ohne eine gewisse Sicherheit? Anderes Beispiel: Ein Pastor muß ja auch einen kostenpflichtigen Personalausweis haben und der ist doch auch in einer sehr ehrenwerten Sache unterwegs

Ich sehe auch mehr das Problem in den "Works with Vista" und "Certified for Vista" Programmen, die suggerieren wirklich das das kostenlose "Works with..." schlechter sei. Das Logo ist nur schwarzweiß und MS schreibt was von Basisfunktionalität unter Vista. Das stimmt nun wirklich nicht.
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 11 Alexandria
 
#39
  Alt 18. Mai 2007, 12:19
Zitat von Gandalfus:
genau! Wenn es wirklich um mehr Sicherheit gehen würde gäbe es die Zertifikat von Microsoft umsonst. So ist es nur eine Schikane für Hobbyprogrammierer und OpenSource.
Das das ganze einen Aufwand verursacht (Identitätsprüfung des Antragsstellers) und die Zertifikate jederzeit gegengeprüft werden können müssen (100% Uptime der Server!) beachtest Du wieder mal nicht. Klar, auch aus meiner Sicht immer noch viel zu teuer, aber umsonst 50 USD pro Jahr wären wohl angemessener, da bricht sich keiner was ab und es gibt noch immer Spenden im Zweifel des Falles

......

P.S.: Und zurzeit ist die Signierung noch immer eine freiwillige Sache, welche lediglich für mehr Transparanz sorgen soll, keine Pflicht!
Daniel W.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

 
Delphi 10.2 Tokyo Professional
 
#40
  Alt 18. Mai 2007, 12:38
Zitat von Bernhard Geyer:
Du hast nur dann einen Vorteil wenn deine Authentifizierungsstelle schon ein Root-Zertifikat in Windows hat. Suchst du dir einen günstigen der evtl. erst ab XP dabei ist es für ältere Windows-Versionen fast so als hättest du kein Zertifikat.
Das ist mir durchaus bewusst - ich wüsste dies gerne speziell auf die Zertifikate von Comodo bezogen.
Sind die bei Windows 95 bis ME bzw. NT bis 2000 dabei?
Werden die vielleicht mit irgendeinem IE-Update ausgeliefert?

In diesem Fall wären die Zertifikate von K-Software für 85$/Jahr ja schon ein Schnäppchen.

Zitat von Bernhard Geyer:
Es gibt viele unterschiedliche Zertifikate. Eine Übersicht bekommst du z.B. bei Versign - CodeSigning-Einstiegsseite. Und vermutlich bekommst du bei Thwate auch kein Ein-Für-Alles-Zertifikat, siehe auch Bestellseite Thwate
So hatte ich es eigentlich auch verstanden, habe aber dann auf einer Internetseite den von mir wiedergegebenen Text gefunden. Wurde wahrscheinlich etwas frei aus dem Englischen übersetzt.

Heißt also auf deutsch: ein Code-Signing-Zertifikat für Authenticode kann man noch nicht einmal zum signieren von VBA-Makros benutzen (dafür bräuchte man noch eines), oder?
Volker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 10   « Erste     234 56     Letzte »    


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 20:49 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