use noxtls_core::Result;
use noxtls_crypto::HmacDrbgSha256;
use noxtls_platform::{EntropySource, TimeSource};
pub fn noxtls_hmac_drbg_from_entropy(
entropy: &mut dyn EntropySource,
personalization: &[u8],
) -> Result<HmacDrbgSha256> {
let mut seed = [0_u8; 32];
let mut nonce = [0_u8; 16];
entropy.fill(&mut seed);
entropy.fill(&mut nonce);
HmacDrbgSha256::noxtls_new(&seed, &nonce, personalization)
}
pub fn noxtls_fill_random(entropy: &mut dyn EntropySource, out: &mut [u8]) {
entropy.fill(out);
}
#[must_use]
pub fn noxtls_cert_validation_time_now(
time: &dyn TimeSource,
) -> noxtls_platform::GeneralizedTimeString {
noxtls_platform::noxtls_format_unix_secs_as_generalized_time(time.unix_secs())
}