trz-gateway-common 0.2.3

Secure Proxy / Agents implementation in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Utils for [CryptoProvider]s.

use std::sync::Arc;

use rustls::crypto::CryptoProvider;
use rustls::crypto::aws_lc_rs;

/// Install and use the [CryptoProvider] from [aws_lc_rs].
pub fn crypto_provider() -> &'static Arc<CryptoProvider> {
    static ONCE: std::sync::Once = std::sync::Once::new();
    ONCE.call_once(|| {
        CryptoProvider::install_default(aws_lc_rs::default_provider())
            .expect("Set default provider")
    });
    CryptoProvider::get_default().expect("Get default provider")
}