Delphi-PRAXiS
Seite 1 von 10  1 23     Letzte » 

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Eigene Anwendungen digital signieren - eine Mini-Einführung (https://www.delphipraxis.net/90725-eigene-anwendungen-digital-signieren-eine-mini-einfuehrung.html)

Daniel 22. Apr 2007 22:31


Eigene Anwendungen digital signieren - eine Mini-Einführung
 
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.

romber 17. Mai 2007 02:07

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
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?

Christian Seehase 17. Mai 2007 03:28

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
Moin romber,

Zitat:

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).


Meflin 17. Mai 2007 11:40

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
Nett :)

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


romber 17. Mai 2007 12:04

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
Zitat:

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.

Flocke 17. Mai 2007 12:13

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
[... 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.

SirThornberry 17. Mai 2007 12:20

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
warum überhaupt ein solches Zertifikat von verysign etc.? Man kann doch mit der normalen Installation des Programmes auch gleich das eigene Zertifikat mit installieren.

sakura 17. Mai 2007 12:23

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
Zitat:

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 :shock: In größeren Domänen ist diese Option so oder so außen vor, da vom Admin glücklicherweise verboten :zwinker:

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 :roll:

...:cat:...

romber 17. Mai 2007 12:46

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
Was ich nicht verstanden habe: muss man für jedes Produkt eine neues Zertifikat erwerben oder reicht ein Zertifikat?

sakura 17. Mai 2007 12:54

Re: Eigene Anwendungen digital signieren - eine Mini-Einführ
 
Zitat:

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 :shock:) signiert werden. Das heißt, auch nach Ablauf des Zertifikates sind die bereits signierten Anwendungen gültig.

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.
Seite 1 von 10  1 23     Letzte » 

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