Merge pull request #256 from Plume-org/verify-signature

Verify activity's signature
This commit is contained in:
Baptiste Gelez
2018-10-10 21:31:11 +01:00
committed by GitHub
9 changed files with 202 additions and 17 deletions
+8 -1
View File
@@ -12,7 +12,7 @@ use openssl::{
hash::MessageDigest,
pkey::{PKey, Private},
rsa::Rsa,
sign::Signer
sign::{Signer,Verifier}
};
use webfinger::*;
@@ -309,6 +309,13 @@ impl sign::Signer for Blog {
signer.update(to_sign.as_bytes()).unwrap();
signer.sign_to_vec().unwrap()
}
fn verify(&self, data: String, signature: Vec<u8>) -> bool {
let key = PKey::from_rsa(Rsa::public_key_from_pem(self.public_key.as_ref()).unwrap()).unwrap();
let mut verifier = Verifier::new(MessageDigest::sha256(), &key).unwrap();
verifier.update(data.as_bytes()).unwrap();
verifier.verify(&signature).unwrap()
}
}
impl NewBlog {