Signieren mit OpenSSL

Signieren mit OpenSSL

OpenSSL eignet sich nicht nur zur Verschlüsselung, sondern auch zum Signieren. Eine Signatur ist immer dann wichtig, wenn die Herkunft einer Datei zweifelsfrei sein muss. Die Dateisignatur funktioniert dabei ähnlich wie die Verschlüsselung – jedoch ist der Inhalt der Nachricht immer lesbar. Der Empfänger kann dann anhand des Public-Keys des Erstellers die Herkunft sicherstellten. Bei der Signatur einer Datei handelt es sich wieder um ein Verfahren mit zwei Dateien. Dabei gibt es einmal die Datei, deren Herkunft zu klären ist und den Public-Key des Erstellers.

Um eine Datei signieren zu können, wird wieder das Schlüsselpaar aus Public- und Private-Key benötigt. Sowie eine Datei, welche signiert werden kann. In diesem Fall heißt unsere zu signierende Datei „wichtig.txt“.

Signiert wird mit dem Algorithmus SHA256 und dem Private-Key. Dabei wird die Signatur als „signatur.sha256“ gespeichert. Die Dateiendung spielt hierbei keine Rolle. Sie dient hier nur exemplarisch zur besseren Nachverfolgbarkeit der einzelnen Schritte.

Anschließend kann man die Signatur noch in Base64 kodieren. Damit wäre der Industriestandard abgedeckt. Zwingend erforderlich ist dies jedoch nicht.

Datei uns Signatur können nun veröffentlicht werden.

Um die Signatur einer Datei zu prüfen, wird der Weg rückwärts gegangen. Hierbei muss zunächst die Base64 kodierte Signatur zurück in SHA256 gewandelt werden. Dazu wird die Signatur hier exemplarisch zwischengespeichert als „sig-b64.sha256“.

Die Verifizierung wird dann gemeinsam mit dem Public-Key des Erstellers durchgeführt:

Das Ergebnis sollte dann „Verified OK“ lauten. Im Fehlerfall gibt es die Ausgabe „Verification failure“.

Die Kommentare sind geschlossen.