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