Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Suche Bibliothek für Zertifikate (https://www.delphipraxis.net/160708-suche-bibliothek-fuer-zertifikate.html)

Codewalker 27. Mai 2011 08:24

Suche Bibliothek für Zertifikate
 
Ich möchte in meinem aktuellen Projekt Dateien signieren können (am liebsten mit Hilfe von asymmetrischen Schlüsseln und Zertifikaten) und anschließend (vorzugsweise über einen Public-Key) die Integrität der Dateien prüfen können.
Delphi bietet dazu bekanntlich von Haus aus nichts. Getestet habe ich TPLockBox, aber da sieht der Quellcode so unübersichtlich aus und eine vernünftige Doku habe ich auch nicht gefunden. Hagens DEC wäre mir am liebsten, aber es wäre ja erstens Part II und zweitens nutze ich Delphi 2009 und dafür habe ich nichts in der Richtung gefunden.
Hat jemand Vorschläge? Es darf auch gerne etwas kosten, sollte aber für mein Projekt in bezahlbarem Rahmen bleiben (< 100 €).

Grüße

blackfin 27. Mai 2011 15:03

AW: Suche Bibliothek für Zertifikate
 
Falls es für dich in Betracht kommt, externe Binaries zu verwenden: Im Microsoft Windows SDK gibt es für solche Zwecke bereits Tools (Signtool.exe, MakeCert.exe etc.)

Edit: Ich glaube, die Komponenten können so etwas auch: StreamSec

Ansonsten kannst du dafür ja denke ich auch OpenSSL verwenden.

Codewalker 27. Mai 2011 15:54

AW: Suche Bibliothek für Zertifikate
 
Danke für die Antwort, aber ich fürchte damit komme ich nicht weiter. Erstens setzt das ja dann das SDK auf jedem Rechner vorraus (ich denke mal nicht, dass ich die Dateien weitergeben darf) und in meinem Fall wird das nicht klappen. Ich möchte von (mehr oder weniger) Textdaten eine Signatur berechnen und diese wird in die Datei integriert (damit alles in einer Datei bleibt).

blackfin 27. Mai 2011 16:40

AW: Suche Bibliothek für Zertifikate
 
Dazu reicht ja eigentlich ein einfacher One-Way-Hash wie SHAx oder MD5.
Wie man dann den Hash mit den Daten zu einer Datei verwurschtelt, dazu kann man ja auch leicht selbst ein Verfahren ausdenken.

BUG 27. Mai 2011 17:34

AW: Suche Bibliothek für Zertifikate
 
Zitat:

Zitat von blackfin (Beitrag 1103344)
Dazu reicht ja eigentlich ein einfacher One-Way-Hash wie SHAx oder MD5.
Wie man dann den Hash mit den Daten zu einer Datei verwurschtelt, dazu kann man ja auch leicht selbst ein Verfahren ausdenken.

Derjenige der die Daten manipuliert, muss dann also noch einen Hash berechnen? Daran wird er verzweifeln :mrgreen:


Zitat:

Zitat von Codewalker (Beitrag 1103337)
Erstens setzt das ja dann das SDK auf jedem Rechner vorraus

Du brauchst ja nicht das SDK benutzen, in der Windows CryptAPI wirst du bestimmt fündig.

Codewalker 27. Mai 2011 17:36

AW: Suche Bibliothek für Zertifikate
 
Prinzipiell hast du Recht. Ich hätte ergänzen müssen, dass ich auch die Identität des Dateierzeuger verifizieren möchte (also "hat Person XY wirklich diese Datei genau so erzeugt"). Dadurch bin ich auf die asymmetrischen Verfahren gekommen.
Daher wollte ich folgendes sicherstellen "hat der Inhaber von Zertifikat XY diese Datei genau so erstellt und wurde sie nachträglich nicht modifiziert". Und da dürfte ich mit Hashes nicht weiterkommen.

gammatester 27. Mai 2011 18:31

AW: Suche Bibliothek für Zertifikate
 
Codewalker, falls Dir RSASSA PKCS1-V1.5 ausreicht, findest Du Quellcode zur Erzeugung und Verifikation von Signaturen in MPArithV1.17.06 und mehr Infos unter RSA-Funktionen

hoika 27. Mai 2011 19:10

AW: Suche Bibliothek für Zertifikate
 
Hallo,

Zitat:

Daher wollte ich folgendes sicherstellen "hat der Inhaber von Zertifikat XY diese Datei genau so erstellt und wurde sie nachträglich nicht modifiziert". Und da dürfte ich mit Hashes nicht weiterkommen.
Ein Prüfen der Zertifikate setzt ein Trustcenter oder zumindestens seinen PublicKey voraus,
sollte also kein Problem sein.

Ich würde einfach OpenSSH für alles verwenden, dort ist alles drin, was du brauchst.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz