DAT C / C++ Pustaka

GitHub

Instalasi

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

Mulai cepat

Alur lengkap ini mengambil sertifikat dari CMS, membuat DAT berisi data JSON, lalu memverifikasinya.

c

Langkah demi langkah

1. Hubungkan ke CMS

Layanan penerbit menggunakan token untuk sertifikat lengkap. Sinkronisasi langsung saat startup mencegah penerbitan sebelum sertifikat tersedia.

c

2. Terbitkan DAT

Contoh ini menaruh JSON publik di plain dan informasi pengguna terlindungi dalam bentuk JSON di secure.

c

3. Verifikasi DAT

parse memeriksa kedaluwarsa dan tanda tangan, lalu mendekripsi secure. Gunakan hanya payload yang dikembalikan setelah verifikasi berhasil.

c

Fungsi utama

FungsiTujuan
dat_cms_manager_syncMenyinkronkan sertifikat dengan segera.
dat_cms_manager_issueMengalokasikan dan mengembalikan string DAT.
dat_cms_manager_parseMengalokasikan dan mengembalikan payload terverifikasi.
dat_cms_manager_last_errorMengembalikan kesalahan sinkronisasi terakhir.

Area data

  • plain: byte yang ditandatangani tetapi tidak dienkripsi.
  • secure: byte terenkripsi.
  • payload: percayai hanya setelah parse berhasil.

Pilihan selain JSON

Contoh menggunakan JSON yang umum. Untuk pemrosesan lebih cepat, data biner dapat menghindari serialisasi dan parsing JSON sekaligus mengurangi ukuran data.

Simpan nilai sederhana sebagai teks, atau taruh data terstruktur dalam format biner seperti Protobuf atau MessagePack di plain dan secure.

c

API penerbitan C saat ini menerima string yang diakhiri NUL. Enkode byte sembarang sebagai Base64Url atau Hex, lalu baca hasil menggunakan panjang payload.

Layanan khusus verifikasi

Layanan yang tidak menerbitkan DAT menggunakan opsi verify-only dan token verify-only, serta hanya memanggil parse.

Penghentian dan kesalahan

Bebaskan dat, payload, dan cms dengan fungsi pembersihan masing-masing.

Gunakan kode kesalahan dan klasifikasi percobaan ulang sebagai pengganti pesan kesalahan.