polymorph_webcrypto_guest/
hmac_sha1.rs1use crate::{bindings, Error, Mac, MacKeyOptions};
7
8pub async fn import_key_raw(raw: impl Into<Vec<u8>>, options: MacKeyOptions) -> Result<Mac, Error> {
10 Ok(Mac::from_raw(
11 bindings::hmac_sha1::import_key_raw(raw.into(), options.lower()).await?,
12 ))
13}
14
15pub async fn import_key_jwk(jwk: impl Into<String>, options: MacKeyOptions) -> Result<Mac, Error> {
18 Ok(Mac::from_raw(
19 bindings::hmac_sha1::import_key_jwk(jwk.into(), options.lower()).await?,
20 ))
21}
22
23pub async fn generate_key(length: Option<u32>, options: MacKeyOptions) -> Result<Mac, Error> {
26 Ok(Mac::from_raw(
27 bindings::hmac_sha1::generate_key(length, options.lower()).await?,
28 ))
29}
30
31pub async fn derive_key(
35 input: &crate::DeriveInput,
36 length: Option<u32>,
37 options: MacKeyOptions,
38) -> Result<Mac, Error> {
39 Ok(Mac::from_raw(
40 bindings::hmac_sha1::derive_key(input.as_raw(), length, options.lower()).await?,
41 ))
42}