AGB  ·  Datenschutz  ·  Impressum  







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

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 1 von 10  1 23     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.
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
 
romber

 
Delphi 10 Seattle Professional
 
#2
  Alt 17. Mai 2007, 02:07
Ich habe mein Programm digital signiert, wie oben beschrieben. Mein Vista erkennt das Programm nun als vertrauenswürdig. Nun habe ich die signierte Datei auf einen anderen Vista-Rechner kopiert und ausgeführt. Und hier wieder das selbe: unbekannter Herausgeber. In den Eingenschaften der Datei kann man lesen, das eine digitale Signatur zwar gefunden wurde, gehört aber nicht zu den vertrauenswürdigen Herausgebern.

Wie lässt sich ein Zertifikat auf einen anderen Rechner übertragen?

Geändert von TBx (22. Okt 2014 um 10:59 Uhr) Grund: Schreibfehler korrigiert
  Mit Zitat antworten Zitat
Christian Seehase

 
Delphi 2006 Professional
 
#3
  Alt 17. Mai 2007, 03:28
Moin romber,

Zitat von Daniel:
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).
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin
 
#4
  Alt 17. Mai 2007, 11:40
Nett

Aber wo bekommt man dann eigentlich echte Zertifikate her, wer überprüft deren Authentizität, und was kostet der Spass ?

Leo S.
  Mit Zitat antworten Zitat
romber

 
Delphi 10 Seattle Professional
 
#5
  Alt 17. Mai 2007, 12:04
Zitat von Meflin:
Nett

Aber wo bekommt man dann eigentlich echte Zertifikate her, wer überprüft deren Authentizität, und was kostet der Spass ?

VeriSign
www.verisign.com

Es sind Jahreslizenzen. Ab 499,- USD/Jahr. Nicht ganz so billig, aber wer die Software kommerziell entwickelt, sollte (leider) eine digitale Signatur besorgen, um den Kunden das Leben ein bißchen leichter zu machen. Besonders unter Vista ist es extrem. Da starten nicht mal Autostart-Programme, wenn diese unsigniert sind.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

 
Delphi 10 Seattle Professional
 
#6
  Alt 17. Mai 2007, 12:13
[... Link entfernt, da nicht mehr gültig ...] VeriSign ist übrigens der Mercedes unter den Authorities (was den Preis angeht) - Thawte gibt's für 199$/Jahr und Comodo schon für 179$/Jahr - schon ein Unterschied zu den 499$/Jahr, die VeriSign haben will.
Volker

Geändert von TBx (22. Okt 2014 um 11:01 Uhr) Grund: ungültigen Link entfernt
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry

 
Delphi 2006 Professional
 
#7
  Alt 17. Mai 2007, 12:20
warum überhaupt ein solches Zertifikat von verysign etc.? Man kann doch mit der normalen Installation des Programmes auch gleich das eigene Zertifikat mit installieren.
Jens
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 10.2 Tokyo Professional
 
#8
  Alt 17. Mai 2007, 12:23
Zitat von SirThornberry:
warum überhaupt ein solches Zertifikat von verysign etc.? Man kann doch mit der normalen Installation des Programmes auch gleich das eigene Zertifikat mit installieren.
Das werden die Kunden aber nicht gerne sehen In größeren Domänen ist diese Option so oder so außen vor, da vom Admin glücklicherweise verboten

VeriSign - selbst nutze ich Comodo - ist der einzige Anbieter, welcher vollständig von MS unterstützt wird. Das merkt man beim Fehlerberichtreporting, welche auf http://winqual.microsoft.com hinterlegt werden, das geht leider ausschließlich mit VeriSign. Gleiches gilt für Vista-Certification, unterstützt MS nur mit VeriSign

......
Daniel W.
  Mit Zitat antworten Zitat
romber

 
Delphi 10 Seattle Professional
 
#9
  Alt 17. Mai 2007, 12:46
Was ich nicht verstanden habe: muss man für jedes Produkt eine neues Zertifikat erwerben oder reicht ein Zertifikat?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

 
Delphi 10.2 Tokyo Professional
 
#10
  Alt 17. Mai 2007, 12:54
Zitat von romber:
Was ich nicht verstanden habe: muss man für jedes Produkt eine neues Zertifikat erwerben oder reicht ein Zertifikat?
Ein Zertifikat reicht für alle Produkte, welche innerhalb des Zertifikatsgültigkeitszeitraumes (was für ein Wort ) signiert werden. Das heißt, auch nach Ablauf des Zertifikates sind die bereits signierten Anwendungen gültig.

......
Daniel W.
  Mit Zitat antworten Zitat
Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

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 08:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf