Die Vertrauenswürdige Instanz installiert die notwendingen Smart Contracts und registriert die Zertifizierungsstellen in der Blockchain. Zu einer Zertifizierungsstelle wird die Adresse eine Datei im InterPlanetary File System (IPFS) gespeichert. Diese Datei enthält Informationen, um die Zertifizierungsstelle zu identifizieren. Eine registriere Zertifizierungsstelle kann dann Ihre Zertifikatsaussteller registrieren.
Aus dem JSON-Objekt eines Zertifikats wird das Unterobjekt "verification" entfernt. Die restlichen Werte des JSON-Objekts werden mit ihrem Schlüsselname alphabetisch sortiert und ohne Leerraum serialisiert. Davon wird ein SHA256 Hash berechnet.
Python3 Implementierung:
def hash(jdict):
import json
import hashlib
jdict = jdict.copy()
if 'verification' in jdict:
del jdict['verification']
jstring = json.dumps(jdict, separators=(',', ':'), sort_keys=True)
return '0x' + hashlib.sha256(jstring.encode()).hexdigest()
Anmelden Zertifikat überprüfen