DAT C / C++ Pustaka
GitHubInstalasi
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.
Langkah demi langkah
1. Hubungkan ke CMS
Layanan penerbit menggunakan token untuk sertifikat lengkap. Sinkronisasi langsung saat startup mencegah penerbitan sebelum sertifikat tersedia.
2. Terbitkan DAT
Contoh ini menaruh JSON publik di plain dan informasi pengguna terlindungi dalam bentuk JSON di secure.
3. Verifikasi DAT
parse memeriksa kedaluwarsa dan tanda tangan, lalu mendekripsi secure. Gunakan hanya payload yang dikembalikan setelah verifikasi berhasil.
Fungsi utama
| Fungsi | Tujuan |
|---|---|
dat_cms_manager_sync | Menyinkronkan sertifikat dengan segera. |
dat_cms_manager_issue | Mengalokasikan dan mengembalikan string DAT. |
dat_cms_manager_parse | Mengalokasikan dan mengembalikan payload terverifikasi. |
dat_cms_manager_last_error | Mengembalikan kesalahan sinkronisasi terakhir. |
Area data
plain: byte yang ditandatangani tetapi tidak dienkripsi.secure: byte terenkripsi.payload: percayai hanya setelahparseberhasil.
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.
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.