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),      }  } | 
