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