tink_streaming_aead/
lib.rs1#![deny(broken_intra_doc_links)]
23
24use std::sync::Once;
25use tink_core::registry::register_key_manager;
26
27mod aes_ctr_hmac_key_manager;
28pub use aes_ctr_hmac_key_manager::*;
29mod aes_gcm_hkdf_key_manager;
30pub use aes_gcm_hkdf_key_manager::*;
31mod decrypt_reader;
32use decrypt_reader::*;
33mod streamingaead_factory;
34pub use streamingaead_factory::*;
35mod streamingaead_key_templates;
36pub use streamingaead_key_templates::*;
37
38pub mod subtle;
39
40pub const UPSTREAM_VERSION: &str = "1.6.0";
43
44static INIT: Once = Once::new();
45
46pub fn init() {
49 INIT.call_once(|| {
50 register_key_manager(std::sync::Arc::new(AesCtrHmacKeyManager::default()))
51 .expect("tink_streaming_aead::init() failed"); register_key_manager(std::sync::Arc::new(AesGcmHkdfKeyManager::default()))
53 .expect("tink_streaming_aead::init() failed"); tink_core::registry::register_template_generator(
56 "AES128_CTR_HMAC_SHA256_4KB",
57 aes128_ctr_hmac_sha256_segment_4kb_key_template,
58 );
59 tink_core::registry::register_template_generator(
60 "AES128_CTR_HMAC_SHA256_1MB",
61 aes128_ctr_hmac_sha256_segment_1mb_key_template,
62 );
63 tink_core::registry::register_template_generator(
64 "AES256_CTR_HMAC_SHA256_4KB",
65 aes256_ctr_hmac_sha256_segment_4kb_key_template,
66 );
67 tink_core::registry::register_template_generator(
68 "AES256_CTR_HMAC_SHA256_1MB",
69 aes256_ctr_hmac_sha256_segment_1mb_key_template,
70 );
71 tink_core::registry::register_template_generator(
72 "AES128_GCM_HKDF_4KB",
73 aes128_gcm_hkdf_4kb_key_template,
74 );
75 tink_core::registry::register_template_generator(
76 "AES128_GCM_HKDF_1MB",
77 aes128_gcm_hkdf_1mb_key_template,
78 );
79 tink_core::registry::register_template_generator(
80 "AES256_GCM_HKDF_4KB",
81 aes256_gcm_hkdf_4kb_key_template,
82 );
83 tink_core::registry::register_template_generator(
84 "AES256_GCM_HKDF_1MB",
85 aes256_gcm_hkdf_1mb_key_template,
86 );
87 });
88}