diff options
-rw-r--r-- | license-generator/Cargo.lock | 1 | ||||
-rw-r--r-- | license-generator/Cargo.toml | 1 | ||||
-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 |
5 files changed, 11 insertions, 1 deletions
diff --git a/license-generator/Cargo.lock b/license-generator/Cargo.lock index 0b3c4f6..aecdcce 100644 --- a/license-generator/Cargo.lock +++ b/license-generator/Cargo.lock @@ -282,6 +282,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "license-generator" version = "0.0.1" dependencies = [ + "base64 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fastcgi 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/license-generator/Cargo.toml b/license-generator/Cargo.toml index b50bec1..3107ee8 100644 --- a/license-generator/Cargo.toml +++ b/license-generator/Cargo.toml @@ -3,6 +3,7 @@ name = "license-generator" version = "0.0.1" [dependencies] +base64 = "0.10.0" error-chain = "0.12.0" fastcgi = "1.0.0" log = "0.4.6" 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), } } |