forked from alemi/upub
fix: verify_oneshot, maybe makes a difference?
This commit is contained in:
parent
652af15771
commit
5d3c222774
2 changed files with 6 additions and 3 deletions
|
@ -17,6 +17,9 @@ pub enum UpubError {
|
|||
|
||||
#[error("fetch error: {0}")]
|
||||
Reqwest(#[from] reqwest::Error),
|
||||
|
||||
#[error("invalid base64 string: {0}")]
|
||||
Base64(#[from] base64::DecodeError),
|
||||
}
|
||||
|
||||
impl UpubError {
|
||||
|
|
|
@ -89,9 +89,9 @@ where
|
|||
|
||||
fn verify_control_text(txt: &str, key: &str, control: &str) -> crate::Result<bool> {
|
||||
let pubkey = PKey::public_key_from_pem(key.as_bytes())?;
|
||||
let mut verifier = Verifier::new(MessageDigest::sha256(), &pubkey).unwrap();
|
||||
verifier.update(txt.as_bytes())?;
|
||||
Ok(verifier.verify(&base64::prelude::BASE64_URL_SAFE.decode(control).unwrap_or_default())?)
|
||||
let mut verifier = Verifier::new(MessageDigest::sha256(), &pubkey)?;
|
||||
let signature = base64::prelude::BASE64_URL_SAFE.decode(control)?;
|
||||
Ok(verifier.verify_oneshot(&signature, txt.as_bytes())?)
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue