single_encrypt/
single-encrypt.rs1use core::mem::MaybeUninit;
6use liboscore_cryptobackend::aead::*;
7use liboscore_cryptobackend::*;
8
9fn main() -> Result<(), ()> {
10 let key = b"0123456789----------0123456789--";
11 let nonce = b"0123456789--";
12 let mut msgbuf = *b"Message.0123456789------"; let mut alg = MaybeUninit::uninit();
15 let err = unsafe { oscore_crypto_aead_from_number(&mut alg, 24) };
16 if oscore_cryptoerr_is_error(err) {
17 return Err(());
18 };
19 let alg = unsafe { alg.assume_init() };
20
21 let mut state = MaybeUninit::uninit();
22 let err = unsafe {
23 oscore_crypto_aead_encrypt_start(&mut state, alg, 0, 8, nonce.as_ptr(), key.as_ptr())
24 };
25 if oscore_cryptoerr_is_error(err) {
26 return Err(());
27 };
28 let mut state = unsafe { state.assume_init() };
29 let msgbuflen = msgbuf.len();
30 let err =
31 unsafe { oscore_crypto_aead_encrypt_inplace(&mut state, msgbuf.as_mut_ptr(), msgbuflen) };
32 if oscore_cryptoerr_is_error(err) {
33 return Err(());
34 };
35
36 Ok(())
37}