diff options
author | Teddy Wing | 2018-11-10 18:33:47 +0100 |
---|---|---|
committer | Teddy Wing | 2018-11-10 18:33:47 +0100 |
commit | bfea32bd7924e5f78016c26cdb767287ff97ddac (patch) | |
tree | fdb582be45794ae0db0bcafb5fc5b944226fb969 /license-generator/src | |
parent | 9880bf0a7e909759df6891c154b8b8e0d8760bd3 (diff) | |
download | dome-key-web-bfea32bd7924e5f78016c26cdb767287ff97ddac.tar.bz2 |
request::verified(): Base64 decode signature from POST params
In order to verify the signature, it needs to be encoded as bytes.
Diffstat (limited to 'license-generator/src')
-rw-r--r-- | license-generator/src/errors.rs | 2 | ||||
-rw-r--r-- | license-generator/src/lib.rs | 2 | ||||
-rw-r--r-- | license-generator/src/request.rs | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/license-generator/src/errors.rs b/license-generator/src/errors.rs index 0799c3e..e21edd4 100644 --- a/license-generator/src/errors.rs +++ b/license-generator/src/errors.rs @@ -1,3 +1,4 @@ +use base64; use log; use mysql; use paddle; @@ -7,6 +8,7 @@ error_chain! { EnvVar(::std::env::VarError); Io(::std::io::Error); + Base64(base64::DecodeError); Log(log::SetLoggerError); MySql(mysql::error::Error); diff --git a/license-generator/src/lib.rs b/license-generator/src/lib.rs index bf3ed57..e2c02b6 100644 --- a/license-generator/src/lib.rs +++ b/license-generator/src/lib.rs @@ -1,3 +1,5 @@ +extern crate base64; + #[macro_use] extern crate error_chain; extern crate log; diff --git a/license-generator/src/request.rs b/license-generator/src/request.rs index 94e5b8d..325fdec 100644 --- a/license-generator/src/request.rs +++ b/license-generator/src/request.rs @@ -1,3 +1,4 @@ +use base64; use paddle; use errors::*; @@ -9,7 +10,10 @@ pub fn verified(req_params: &str) -> Result<bool> { let pem = include_bytes!("../private/paddle.pubkey.asc"); match signature { - Some(signature) => Ok(paddle::verify_signature(pem, &signature, p)?), + Some(signature) => { + let signature = base64::decode(signature.as_bytes())?; + Ok(paddle::verify_signature(pem, &signature, p)?) + }, None => Ok(false), } } |