DAT C / C++ Bibliothek
GitHubInstallation
Until it is officially merged into vcpkg, you will need to manually install and integrate the project using this repository.
https://github.com/microsoft/vcpkg/pull/52088
version: 4.7.0
Schnellstart
Dieser vollständige Ablauf ruft Zertifikate von CMS ab, erstellt einen DAT mit JSON-Daten und prüft ihn.
Schritt für Schritt
1. Mit CMS verbinden
Ein ausstellender Dienst verwendet ein Token für vollständige Zertifikate. Eine sofortige Synchronisierung beim Start verhindert die Ausstellung, bevor Zertifikate verfügbar sind.
2. DAT ausstellen
Dieses Beispiel legt öffentliches JSON in plain und geschützte Benutzerdaten als JSON in secure ab.
3. DAT prüfen
parse prüft Ablauf und Signatur und entschlüsselt anschließend secure. Verwenden Sie nur ein payload, das nach erfolgreicher Prüfung zurückgegeben wurde.
Wichtige Funktionen
| Funktion | Zweck |
|---|---|
dat_cms_manager_sync | Synchronisiert Zertifikate sofort. |
dat_cms_manager_issue | Allokiert eine DAT-Zeichenfolge und gibt sie zurück. |
dat_cms_manager_parse | Allokiert ein geprüftes payload und gibt es zurück. |
dat_cms_manager_last_error | Gibt den letzten Synchronisierungsfehler zurück. |
Datenbereiche
plain: signierte, aber nicht verschlüsselte Bytes.secure: verschlüsselte Bytes.payload: vertrauen Sie ihm erst nach erfolgreichemparse.
Optionen neben JSON
Die Beispiele verwenden das vertraute JSON. Für eine schnellere Verarbeitung können Binärdaten die Serialisierung und das Parsing von JSON vermeiden und gleichzeitig die Datenmenge verringern.
Speichern Sie einfache Werte als Text oder strukturierte Daten in Binärformaten wie Protobuf oder MessagePack in plain und secure.
Die aktuelle C-API zur Ausstellung akzeptiert NUL-terminierte Strings. Codieren Sie beliebige Bytes als Base64Url oder Hex und lesen Sie das Ergebnis anhand der payload-Längen.
Dienste nur zur Prüfung
Ein Dienst, der keine DAT ausstellt, verwendet die verify-only-Option und ein verify-only-Token und ruft ausschließlich parse auf.
Beendigung und Fehler
Geben Sie dat, payload und cms mit den jeweiligen Bereinigungsfunktionen frei.
Verwenden Sie Fehlercodes und Wiederholungsklassifikationen anstelle von Fehlermeldungen.