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 8 von 10   « Erste     678 910      
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 HeikoAdams
HeikoAdams

 
FreePascal / Lazarus
 
#71
  Alt 29. Jun 2007, 11:11
Zitat von kalwados:
Darum meine Frage nach der Version des .NET-SDK.
Definitiv enthalten ist signtool.exe im .Net 2.0 SDK (371 MB)
  Mit Zitat antworten Zitat
Gruber_Hans_12345

 
Delphi 2007 Professional
 
#72
  Alt 27. Feb 2008, 13:27
Ich grabe mal hier diesen Thread aus:

Kennt jemand ne Seite, wo die Vor und Nachteile von den verschiedenen Zertifizierungsstellen gegenüberstellt werden?

Also, was kann ich mit einem Zertifikat von veriSign mehr machen als mit einem Zertifikat von Comodo?

Prinzipiell brauche ich mal "nur" die zertifizierung von "normalen" exe, von services (dll bzw. exe)
was noch nett wäre, wenn man auch dll signieren könnte, die dann in outlook oder andern Programmen verwendet werden.

Kann man (was ja nur bei VeriSign geht oder?) dieses Winqual auch gut nutzen?
Nutze im Moment ne eigene ExceptionHandling, das eine sehr detailierte Exception Report erstellt, was ist da der vorteil von dem Winqual, und läuft das auch gut mit Delphi?
  Mit Zitat antworten Zitat
Tyrael Y.

 
Delphi 2007 Professional
 
#73
  Alt 27. Feb 2008, 13:37
Zertifikate sind so ein Schwachsinn...

Man zahlt Geld an Verisign usw. und die geben einem ein Zertifikat, dies sagt aber nix darüber aus, ob mein Programm vertrauenswürdig ist oder nicht, es sagt nur aus, daß ich bei zB Verisign bereit war Geld auszugeben...mehr nicht.

Ich kann ein richtig böses Programm schreiben.
Dann kaufe ich ein Zertifikat von Verisign usw. und benutze es in meinem bösen Programm.

Verisign und die anderen prüfen weder mein Programm noch meine Identität.

Zertifikate = der größte Schwachsinn seit es Programme gibt bzw. ne geile Idee mit nix Geld zu verdienen
Levent Yildirim
  Mit Zitat antworten Zitat
Muetze1
 
#74
  Alt 27. Feb 2008, 13:40
Zitat von Tyrael Y.:
Ich kann ein richtig böses Programm schreiben.
Dann kaufe ich ein Zertifikat von Verisign usw. und benutze es in meinem bösen Programm.

Verisign und die anderen prüfen weder mein Programm noch meine Identität.
Aber sie können nach bekannt werden der Boshaftigkeit das Zertifikat für ungültig erklären und damit würde es zu Problemen führen bei der Nutzung deines Programmes bzw. einen deutlicheren Hinweis geben. Die Zertifikate aktualisiert Windows automatisch öfters.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

 
Delphi 2007 Professional
 
#75
  Alt 27. Feb 2008, 13:48
Zitat von Tyrael Y.:
Zertifikate sind so ein Schwachsinn...

Man zahlt Geld an Verisign usw. und die geben einem ein Zertifikat, dies sagt aber nix darüber aus, ob mein Programm vertrauenswürdig ist oder nicht, es sagt nur aus, daß ich bei zB Verisign bereit war Geld auszugeben...mehr nicht.

Ich kann ein richtig böses Programm schreiben.
Dann kaufe ich ein Zertifikat von Verisign usw. und benutze es in meinem bösen Programm.

Verisign und die anderen prüfen weder mein Programm noch meine Identität.

Zertifikate = der größte Schwachsinn seit es Programme gibt bzw. ne geile Idee mit nix Geld zu verdienen
Ob Schwachsinn oder nicht, wenn man kommerziell Geld mit Programmen verdient, dann kann man schon mal etwas Geld ausgeben, damit der Benutzer zumindest sicherstellen kann, das dieses Programm von meiner Firma kommt, und da die benutzer mir trauen, wissen die dann zumindest, aha, das kann ich ohne probleme ausführen.

Nur bin ich mir noch nicht sicher, ob man diese billigen von http://www.ksoftware.net/code_signing.html auch verwenden kann, oder ob man dann später mal drauf kommt, wäre doch eines von verisign besser gewesen
  Mit Zitat antworten Zitat
Tyrael Y.

 
Delphi 2007 Professional
 
#76
  Alt 27. Feb 2008, 13:49
Dann ist es doch schon zu spät...ich als "Böser" hab doch in dem Moment schon erreicht was ich wollte
Levent Yildirim
  Mit Zitat antworten Zitat
Tyrael Y.

 
Delphi 2007 Professional
 
#77
  Alt 27. Feb 2008, 13:52
Zitat von Gruber_Hans_12345:
...das dieses Programm von meiner Firma kommt, und da die benutzer mir trauen, wissen die dann zumindest, aha, das kann ich ohne probleme ausführen.
Die Identität wird beim Kauf eines Zertifikates nicht überprüft, ich könnte auch vorgaukeln ein anderer zu sein.
Levent Yildirim
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

 
Delphi 10.4 Sydney
 
#78
  Alt 27. Feb 2008, 14:00
Zitat von Tyrael Y.:
Die Identität wird beim Kauf eines Zertifikates nicht überprüft, ich könnte auch vorgaukeln ein anderer zu sein.
Doch wird sie. z.B. wird entweder Bestätigung von Notar oder eine Telefonrechnung von Telefonkonzern angefordert sowie Rückruf auf (per Telefonbuch überprüfte Telefonnummer?) getätigt (Jedenfalls bei Verisign). Diverse günstiger Anbieter könnten es u.U. mit weniger sorgfalt Betreiben um Kosten zu sparen. 100% sicher ist es nicht, denn sonst wären keine 2 zurückgezogenenen Zertifikate unter Windows vorhanden die eine Privatperson (Firma?) als Microsoft getätigt hat.
  Mit Zitat antworten Zitat
Tyrael Y.

 
Delphi 2007 Professional
 
#79
  Alt 27. Feb 2008, 14:13
Das ist mir neu Bernhard.

Ein Freund von mir hat bei Verisign ein Zertifikat gekauft, da sein Kunden unbedingt wollte, daß er eins kaufen sollte.
Laut seinen Aussagen hat er nur ein Zertifikat bestellt, diesen bezahlt und dann hatte er es ohne jegliche Prüfung.

Mag sein, daß die nach ein paar Missbrauchsfällen eine Kontrolle eingeführt haben, aber zu dem Zeitpunkt als er es gekauft hat, wurde definitiv nix überprüft.

Ich würde mir wünschen, daß diese Zertifikateanbieter viel mehr restriktivere Prüfungen vornehmen und diese von mir aus auch sich bezahlen lassen.
Dann kann der Kunde wenigstens sich auf etwas einigermassen verlassen.

Ganz ohne Prüfung ist das Ganze mit den Zertifikaten mehr Schein als Sein.
Levent Yildirim
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

 
Delphi 10.4 Sydney
 
#80
  Alt 27. Feb 2008, 14:17
Zitat von Tyrael Y.:
Ich würde mir wünschen, daß diese Zertifikateanbieter viel mehr restriktivere Prüfungen vornehmen und diese von mir aus auch sich bezahlen lassen. Dann kann der Kunde wenigstens sich auf etwas einigermassen verlassen.

Ganz ohne Prüfung ist das Ganze mit den Zertifikaten mehr Schein als Sein.
Stimm ich dir voll zu. Auch der Weg von Verisign hat seine Angriffmöglichkeiten. So war die letzte überprüfung ein Witz. Anruf von Verisign (an meine Tel.Nr um bitte doch mit Geschäftsführer zu verbinden. Hätte ich jetzt meinen Kollegen gebeten "Chef zu spielen" wäre es kein Problem gewesen da nur einfache Dinge abgefragt wurden (AFAIK Vorname, Geburtsdatum, ...)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 10   « Erste     678 910      


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 00:04 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