Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi und OpenSSL (https://www.delphipraxis.net/156806-delphi-und-openssl.html)

Koolance 15. Dez 2010 16:20

Delphi und OpenSSL
 
Hallo,
ich habe gerade die freudige Aufgabe Rechnungen mit einer digitalen Signatur zu versehen. Das ganze unter Verwendung von Openssl. Erfahrungen habe ich in der Richtung leider fast keine.

Für Interessierte hier das ganze grafisch:
http://www.softwarecertificado.com/D...wer&target=410


Ich habe eine Anleitung für Linux gefunden die ich gerade versuche trocken nachzuvollziehen. Öffentliches und privates Zertifikat erstellen habe ich bereits geschafft so zu übersetzen das es unter Windows funktioniert.

1. Öffentliches Zertifikat erstellen:
openssl genrsa -out ChavePrivada.pem 1024

2. Privates Zertifikat erstellen:
openssl rsa -outform PEM <ChavePrivada.pem> ChavePublica.pem

3. Etwas zu signieren kriege ich leider nicht hin, unter Linux würde es so funktionieren:
cmd> echo "2010-05-18;2010-05-18T11:22:19;FAC 001/14;3.12; " | openssl dgst -sha1 -sign ChavePrivada.pem | openssl enc -base64

Es wäre großartig wenn mir einer sagt wie ich diesen letzten Schritt zum laufen kriege.

Des weiteren überlege ich Schritt 3 in Delphi zu machen. Dafür brauche ich vermutlich: http://www.delphipraxis.net/156552-o...0-0c-indy.html + Die Openssl Dll's.

Sind im Falle der Installation trotzdem noch die "visual c++ 2008 redistributables" erforderlich?

generic 15. Dez 2010 22:28

AW: Delphi und OpenSSL
 
Es gibt leider keine guten OpenSSL - Delphi - Header.
Die Übersetzungen für die Indys sind nicht vollständig.
Es ist einfacher, wenn du Shellaufrufe machst.

Alternativ kannst du natürlich die Header neu übersetzen für die Signatur und Schlüsselfunktionen.
Ich könnte die auch gut gebrauchen.

Assarbad 16. Dez 2010 00:41

AW: Delphi und OpenSSL
 
Zitat:

Zitat von generic (Beitrag 1068786)
Ich könnte die auch gut gebrauchen.

:lol:

JDARTH hat sich ja totgelaufen weil Alan immer wieder angekündigt hat, er wolle dieses oder jenes verbessern und dann, ja dann, könnten auch wir mitmachen. Bin dann irgendwann abgehauen :stupid: ... mit einem DVCS wäre das nicht passiert. Da hätte man forken können.

Daß es dafür noch kein Tool innerhalb der IDE gibt finde ich seltsam. Selbst wenn das nur das Parsen übernehmen würde, mir dann seine Meinung zu den Symbolen kundtun und mir zur Korrektur anbieten würde ...

Die Präprozessor-Definitionen könnte man dem Tool ja mit auf den Weg geben ...

Zitat:

Zitat von generic (Beitrag 1068786)
Es gibt leider keine guten OpenSSL - Delphi - Header.
Die Übersetzungen für die Indys sind nicht vollständig.
Es ist einfacher, wenn du Shellaufrufe machst.

Braucht man denn die vollständigen? Habe in der Firma (allerdings mit C) nur einen Teil der Bibliothek eingecheckt um gewisse Algorithmen benutzen zu können. Der Rest blieb außen vor. Klappte wunderbar. Entsprechend ist auch nur eine Untermenge der Header dabei.

Koolance 16. Dez 2010 08:36

AW: Delphi und OpenSSL
 
Danke, ist schonmal gut zu wissen das ich mir die Installation sparen kann. Kann mir noch eine hiermit weiter helfen, ich bin schon länger in der Eingabeaufforderung am rumspielen und kriege immer weiter Fehlermeldungen um die Ohren:

cmd> echo "2010-05-18;2010-05-18T11:22:19;FAC 001/14;3.12; " | openssl dgst -sha1 -sign ChavePrivada.pem | openssl enc -base64

Koolance 16. Dez 2010 10:26

AW: Delphi und OpenSSL
 
Ich glaueb ich habe die Lösung. Das ganze musste zerlegt werden. Erst den String in eine Datei schreiben (test.txt).

Schritt 1
openssl sha1 -sign ChavePrivada.pem test.txt > out.txt

Schritt 2
openssl base64 -in out.txt -out out2.txt


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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 by Thomas Breitkreuz