Skip to content

Commit

Permalink
feat: Added E2EI PKI FFI
Browse files Browse the repository at this point in the history
  • Loading branch information
OtaK committed Jan 8, 2024
1 parent 0842315 commit 1d8a455
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 0 deletions.
35 changes: 35 additions & 0 deletions crypto-ffi/src/generic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1515,6 +1515,41 @@ impl CoreCrypto {
.map(std::sync::Arc::new)?)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_acme_ca]
pub async fn e2ei_register_acme_ca(&self, trust_anchor_pem: String) -> CoreCryptoResult<()> {
Ok(self
.central
.lock()
.await
.e2ei_register_acme_ca(trust_anchor_pem)
.await?)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_intermediate_ca]
pub async fn e2ei_register_intermediate_ca(&self, cert_pem: String) -> CoreCryptoResult<()> {
Ok(self
.central
.lock()
.await
.e2ei_register_intermediate_ca(cert_pem)
.await?)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_intermediate_ca_bag]
pub async fn e2ei_register_intermediate_ca_bag(&self, certs_pem: Vec<String>) -> CoreCryptoResult<()> {
Ok(self
.central
.lock()
.await
.e2ei_register_intermediate_ca_bag(certs_pem)
.await?)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_crl]
pub async fn e2ei_register_crl(&self, crl_dp: String, crl_der: Vec<u8>) -> CoreCryptoResult<Option<u64>> {
Ok(self.central.lock().await.e2ei_register_crl(crl_dp, crl_der).await?)
}

/// See [core_crypto::mls::MlsCentral::e2ei_mls_init_only]
pub async fn e2ei_mls_init_only(
&self,
Expand Down
52 changes: 52 additions & 0 deletions crypto-ffi/src/wasm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2395,6 +2395,58 @@ impl CoreCrypto {
)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_acme_ca]
pub async fn e2ei_register_acme_ca(&self, trust_anchor_pem: String) -> Promise {
let this = self.inner.clone();
future_to_promise(
async move {
let mut this = this.write().await;
this.e2ei_register_acme_ca(trust_anchor_pem).await?;
WasmCryptoResult::Ok(JsValue::UNDEFINED)
}
.err_into(),
)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_intermediate_ca]
pub async fn e2ei_register_intermediate_ca(&self, cert_pem: String) -> Promise {
let this = self.inner.clone();
future_to_promise(
async move {
let mut this = this.write().await;
this.e2ei_register_intermediate_ca(cert_pem).await?;
WasmCryptoResult::Ok(JsValue::UNDEFINED)
}
.err_into(),
)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_intermediate_ca_bag]
pub async fn e2ei_register_intermediate_ca_bag(&self, certs_pem: Vec<String>) -> Promise {
let this = self.inner.clone();
future_to_promise(
async move {
let mut this = this.write().await;
this.e2ei_register_intermediate_ca_bag(certs_pem).await?;
WasmCryptoResult::Ok(JsValue::UNDEFINED)
}
.err_into(),
)
}

/// See [core_crypto::mls::MlsCentral::e2ei_register_crl]
pub async fn e2ei_register_crl(&self, crl_dp: String, crl_der: Box<[u8]>) -> Promise {
let this = self.inner.clone();
future_to_promise(
async move {
let mut this = this.write().await;
let maybe_expire = this.e2ei_register_crl(crl_dp, crl_der.to_vec()).await?;
WasmCryptoResult::Ok(maybe_expire.into())
}
.err_into(),
)
}

/// see [core_crypto::mls::MlsCentral::e2ei_mls_init_only]
pub fn e2ei_mls_init_only(
&self,
Expand Down

0 comments on commit 1d8a455

Please sign in to comment.