added: run signature verification in worker
This commit is contained in:
parent
cf06ebebf4
commit
7b0a17dd54
13
src/api.rs
13
src/api.rs
@ -267,8 +267,17 @@ async fn put_cert_update(
|
||||
}): State<ApiState>,
|
||||
CertificateBody(cert): CertificateBody,
|
||||
) -> ApiResult<String> {
|
||||
cert.validate(&[ca.fingerprint(Default::default())])
|
||||
.map_err(|_| ApiError::CertificateInvalid)?;
|
||||
let cert = {
|
||||
let ca = ca.clone();
|
||||
tokio::task::spawn_blocking(move || -> ApiResult<Certificate> {
|
||||
let cert = cert;
|
||||
cert.validate(&[ca.fingerprint(Default::default())])
|
||||
.map_err(|_| ApiError::CertificateInvalid)?;
|
||||
Ok(cert)
|
||||
})
|
||||
.await
|
||||
.context("signature verification")??
|
||||
};
|
||||
let prev = load_cert_by_id(&cert_dir, &ca, cert.key_id()).await?;
|
||||
let mut prev_serial = 0;
|
||||
let serial = cert.serial();
|
||||
|
Loading…
x
Reference in New Issue
Block a user