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 5 von 10   « Erste     345 67     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
 
Benutzerbild von Catbytes
Catbytes

 
Delphi XE5 Enterprise
 
#41
  Alt 18. Mai 2007, 13:50
In Deutschland ist es Pflicht auf Homepages ein Impressum zu führen (mit max. 2 Klicks erreichbar). Außerdem kann jeder bei www.denic.de nachlesen, wem die Domain gehört. Wenn also ein Kunde/Benutzer von meiner Homepage mein Programm runterläd, es versucht zu installieren und dann nach einer Signatur fragt, der hat eben Pech gehabt, wenn er mir nicht glaubt, daß ich ich bin. Solche Kunden brauche und möchte ich nicht. Das Vertrauensverhältnis ist dann sowieso schon leicht gestört.

Der einzige Sinn solcher Lizenzen ist schlicht und einfach: Geld verdienen!

Stellt euch vor, ihr braucht für euer Auto eine Extra-Lizenz, obwohl das Nummernschild (vergleichbar mit Impressum/Denic-Eintrag) fett auf dem Auto ist.

Und erzählt mir jetzt nicht, daß man so eine Lizenz nicht auch mit gefälschten Daten bekommt, um Unfug zu betreiben. Selbst das Post-Ident-Verfahren kann mit gefälschtem Ausweis umgangen werden. Wo genügend kriminelle Energie ist, hilft keine Sicherheitsbarriere.

Das gleiche gilt für die ganzen anderen Schmarotzer wie "Trusted Shops" & Co, die versuchen, mit vermeintlicher Sicherheit Geld zu verdienen. Wenn es nämlich mal knallt und jemand wurde betrogen, dann will niemand der Schuldige sein - und ich spreche aus leidiger Erfahrung!

Oder habt ihr schonmal sowas wie Trusted-Shops z.B. bei Amazon gesehen? Ich nicht und die werden wissen warum...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

 
Delphi 10.4 Sydney
 
#42
  Alt 18. Mai 2007, 14:03
Zitat von Catbytes:
Der einzige Sinn solcher Lizenzen ist schlicht und einfach: Geld verdienen!
Sehe ich nicht so (und andere auch). Es gibt bei Firmen Einsatzfälle wo der Admin nicht einfach jedem User gestatten will jeden Download zu starten. Und da kann ein Zertifikat Helfen. Unter .NET hat ja MS mit den "Strong Names" etwas ähnliches (zwar nicht so ganz auf dem gleichen Level) geschaffen.

Zitat von Catbytes:
Und erzählt mir jetzt nicht, daß man so eine Lizenz nicht auch mit gefälschten Daten bekommt, um Unfug zu betreiben. Selbst das Post-Ident-Verfahren kann mit gefälschtem Ausweis umgangen werden. Wo genügend kriminelle Energie ist, hilft keine Sicherheitsbarriere.
Es kommt aber teilweise auf die Hürde darauf an die vor dem Fälschen/Stehlen steht. Wenn dein Auto mit gesteckten Zündschlüssel "diebstahlsbereit" herumsteht so wird die Versicherung nichts zahlen. Wird das Auto aufgebrochen so sieht es schon ganz anders aus.
Und wenn du in den Zertifikatsspeicher schaust stehen da 2 Zertifikate die gesperrt wurden. Als vermeindliche Antragssteller steht da Microsoft ...

Zitat von Catbytes:
Das gleiche gilt für die ganzen anderen Schmarotzer wie "Trusted Shops" & Co, die versuchen, mit vermeintlicher Sicherheit Geld zu verdienen. Wenn es nämlich mal knallt und jemand wurde betrogen, dann will niemand der Schuldige sein - und ich spreche aus leidiger Erfahrung!
Sollte sowas bei einem entsprechenden Shop masche sein wird er über früher oder später sein Logo verlieren. Aber sowas kann dir auch bei jeder anderen Firma passieren.
  Mit Zitat antworten Zitat
Gandalfus

 
Delphi 2006 Professional
 
#43
  Alt 18. Mai 2007, 14:19
Zitat:
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 Rolling Eyes 50 USD pro Jahr wären wohl angemessener, da bricht sich keiner was ab und es gibt noch immer Spenden im Zweifel des Falles Wink
Und Du "beachtest wieder mal nicht" das es Vista nicht kostenlos gibt und das angesichts des Kaufpreises dieser Service nun wirklich nicht zuviel verlangt wäre.
Bei Kommerziellen Anwendungen sollte es doch eh klar sein von wem die kommen. Schliesslich hat man irgendeinen dafür bezahlt.
  Mit Zitat antworten Zitat
Daniel

 
Delphi 10.4 Sydney
 
#44
  Alt 18. Mai 2007, 14:31
Zitat von Gandalfus:
Bei Kommerziellen Anwendungen sollte es doch eh klar sein von wem die kommen. Schliesslich hat man irgendeinen dafür bezahlt.
Ein gültiges Zertifikat stellt immerhin sicher, dass die signierte Programmdatei auch unverändert vorliegt und tatsächlich genau die ist, die vom Hersteller kommt - und damit eben nicht etwa eine andere Datei ist, die nur den gleichen Namen trägt.
Daniel R. Wolf
  Mit Zitat antworten Zitat
CCRDude
 
#45
  Alt 18. Mai 2007, 14:34
Zitat von Catbytes:
Stellt euch vor, ihr braucht für euer Auto eine Extra-Lizenz, obwohl das Nummernschild (vergleichbar mit Impressum/Denic-Eintrag) fett auf dem Auto ist.
Ein Impressum oder Denic-Eintrag ist wohl eher mit einem 3-Tage-Kennzeichen zu vergleichen. "Dummerweise" ist aber auch manche Software, inklusive kleiner Hobbysoftware, etwas bekannter als über den Freundeskreis hinaus, dem man immer wieder sagen muss "geh doch mal auf meine Homepage was runterladen"... und dann kann es schonmal passieren, daß die Software auf einem der großen Download-Portale landet... da hilft ja ein Denic-Eintrag auch so viel
Außerdem gibt es bei erfolgreicher Software immer wieder Trittbrettfahrer, die unter gleichem Namen irgendwas verkaufen wollen, und auch sowas findet gelegentlich den weg in die großen Portale.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 12 Athens
 
#46
  Alt 18. Mai 2007, 14:35
Zitat von Gandalfus:
Und Du "beachtest wieder mal nicht" das es Vista nicht kostenlos gibt und das angesichts des Kaufpreises dieser Service nun wirklich nicht zuviel verlangt wäre.
Wieso wieder? Ich weiß das Vista Geld kostet. Außerdem gibt es diese Zertifikate nicht erst seit Vista, schon mit Windows XP hat Microsoft diese empfohlen. Jetzt nur etwas auffälliger. Lade mal mit XP SP2 eine EXE aus dem Internet und starte die. Was passiert da wohl... genau, Du sollst den Start bestätigen. Und worauf prüft XP? Auf ein Zertifikat, halt nur nicht so auffällig.

Aber zurück zum Vista-Preis. Was erwartest Du alles für den Preis noch? Das MS kostenlos Deine Anwendungen für Vista zertifiziert? Wäre ja der nächste Schritt. Oder das Du alle MS Games kostenfrei bekommst, wenn diese Vista kompatibel sind. Hätten noch mehr was davon.

Und Du vergisst, dass VeriSign, Comodo, ... nicht zu MS gehören, dass diese Zertifikate auch unter Linux genutzt werden können, das es Zertifikate für SSL gibt, dass es... Sorry, ich kann diese "ich will alles umsonst bzw. alles in einem" Einstellung nicht verstehen.

......
Daniel Lizbeth
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

 
Delphi XE5 Enterprise
 
#47
  Alt 18. Mai 2007, 14:38
Zitat von CCRDude:
Zitat von Catbytes:
Stellt euch vor, ihr braucht für euer Auto eine Extra-Lizenz, obwohl das Nummernschild (vergleichbar mit Impressum/Denic-Eintrag) fett auf dem Auto ist.
und dann kann es schonmal passieren, daß die Software auf einem der großen Download-Portale landet... da hilft ja ein Denic-Eintrag auch so viel
Spätestens wenn der Kunde mir das Geld sendet, um zu bezahlen, sollte sein gesunder Menschenverstand ihm sagen, an wen er bezahlt, meinst Du nicht auch?

Wer das nicht schnallt, dem hilft auch keine Lizenz...
  Mit Zitat antworten Zitat
CCRDude
 
#48
  Alt 18. Mai 2007, 15:16
Zitat von Catbytes:
Spätestens wenn der Kunde mir das Geld sendet, um zu bezahlen, sollte sein gesunder Menschenverstand ihm sagen, an wen er bezahlt, meinst Du nicht auch?

Wer das nicht schnallt, dem hilft auch keine Lizenz...
In bin zwar selber ab und zu der Meinung, daß Menschen im Internet etwas besser aufpassen könnten, aber was Du da von Dir gibst klingt ja schon recht arrogant. Schreibst Du nur Software für Eliten?

Übrigens habe ich jeden Tag mit einem knappen Dutzend Menschen zu tun, die eine Produktfälschung bezahlt haben, was mit Sicherheit nicht passieren würde, wenn diese sich besser über die Herkunft erkundigt hätten - gerade da könnte es unheimlich helfen, wenn signierte Dateien eher die Regel als die Ausnahme wären!

Und zu guter letzt soll es ja noch Leute geben, die rein zum Spaß programmieren und somit Deinen "spätestens"-Zeitpunkt nicht erreichen.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

 
Delphi 12 Athens
 
#49
  Alt 18. Mai 2007, 15:31
Moin, moin,

Wie ist das eigentlich: Wenn ich neue Programmversionen herausgebe.
Muß für die dann jedesmal ein neues Zertifikat beantragt werden?

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

 
Delphi XE5 Enterprise
 
#50
  Alt 18. Mai 2007, 15:48
Zitat von CCRDude:
Zitat von Catbytes:
Spätestens wenn der Kunde mir das Geld sendet, um zu bezahlen, sollte sein gesunder Menschenverstand ihm sagen, an wen er bezahlt, meinst Du nicht auch?

Wer das nicht schnallt, dem hilft auch keine Lizenz...
In bin zwar selber ab und zu der Meinung, daß Menschen im Internet etwas besser aufpassen könnten, aber was Du da von Dir gibst klingt ja schon recht arrogant. Schreibst Du nur Software für Eliten?
Quatsch! Arrogant sollte das nicht klingen. Aber stell Dir mal vor, wenn es andersrum wäre: Ein anderer Global-Player (laß es Oracle oder SAP sein) verlangt von Microsoft, daß die das Betriebssystem für die Software lizenzieren - so nach dem Motto: "Windows Vista ist certified for SAP" oder "SAP Ready". Was meinste, was MS dazu sagen würde? Die wären dann genauso "arrogant".

Zitat von CCRDude:
Übrigens habe ich jeden Tag mit einem knappen Dutzend Menschen zu tun, die eine Produktfälschung bezahlt haben, was mit Sicherheit nicht passieren würde, wenn diese sich besser über die Herkunft erkundigt hätten - gerade da könnte es unheimlich helfen, wenn signierte Dateien eher die Regel als die Ausnahme wären!
Dagegen habe ich nichts - doch es sollte bezahlbar bleiben. Nicht jeder kleine Hobby-Programmierer kann mal so eben 500 Euronen hinknallen. Stell' Dir vor, wie arm unsere Softwarelandschaft wäre ohne die ganzen kleinen Tools, die das (IT)Leben so erfreulich machen? Und spätestens wenn MS mir noch mehr Steine in den Weg legt, damit meine Software läuft ohne das der Benutzer irgendwelche Klick-Orgien machen muß, höre ich mit Free- und Shareware auf. Ich kann dem Benutzer ja schlecht in der Doku empfehlen, daß er alle Sicherheitsriegel von Vista öffnen soll...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 10   « Erste     345 67     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 06:48 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