This is an old revision of the document!
Setup
Schlüsselerzeugung
In Git-Bash:
openssl ecparam -name prime256v1 -genkey -noout -out secret-private-key-joker.pem openssl ec -in secret-private-key-joker.pem -pubout -out public-key-joker.pem
Unterschrift
Unterschreiben
in Git-Bash:
openssl dgst -sha256 -sign secret-private-key-joker.pem -out signature.bin ZU_SIGNIERENDE_DATEI openssl enc -base64 -in signature.bin -out signature.base64
Verifizieren
openssl enc -base64 -d -in signature.base64 -out signature.bin openssl dgst -sha256 -verify public-key-joker.pem -signature signature.bin SIGNIERTE_DATEI
Dateiformat
Die «Blockchain» ist im «Markdown» Format gespeichert. Damit lässt sich die Datei ebensogut maschinell verarbeiten wie von Menschen gelesen werden.
Die Datei enthält nur ASCII-Zeichen und Zeilenumbrüche sind \n (keine \r\n)
Generelle Einträge
# Titel (Art des Eintrags) ## Name der Daten ... (Daten) ## Evtl. weitere Einträge
Root-Eintrag (Admin, Verwalter)
- Public-Key vom Verwalter, muss der erste Eintrag in der Datei sein.
# root ## publickey publickey data ## keyhash fe736c7d89a8b
Darauf muss eine rootsignature folgen:
Einträge validieren
# rootsignature ## timestamp Datum und Zeit der Unterschrift. ## signature Signatur der ganzen Datei bis und mit der Zeile davor (inkl. ## signature\n)
User-Konto mit Jokern anlegen
# user ## publickey publickey data ## keyhash fe736c7d89a8b ## tokens list of joker tokens
Überweisung
# transfer ## sender keyhash ## token token ## receiver keyhash ## timestamp timestamp ## signature Signatur der ganzen Datei bis und mit ## signature\n
Joker Einlösen
# usejoker ## sender hash ## token token ## usedate JJJJ-MM-TT ## timestamp timestatmp ## signature Signatur der ganzen Datei bis und mit ## signature\n