aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--license-generator/Cargo.lock1
-rw-r--r--license-generator/Cargo.toml1
-rw-r--r--license-generator/src/errors.rs2
-rw-r--r--license-generator/src/lib.rs2
-rw-r--r--license-generator/src/request.rs6
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),
}
}