fix(auth): use chrono library to generate timestamps

This commit is contained in:
DecDuck
2024-11-19 15:47:09 +11:00
parent a2137654f0
commit e22e6d8a55
3 changed files with 6 additions and 5 deletions

3
src-tauri/Cargo.lock generated
View File

@ -532,8 +532,10 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [ dependencies = [
"android-tzdata", "android-tzdata",
"iana-time-zone", "iana-time-zone",
"js-sys",
"num-traits", "num-traits",
"serde", "serde",
"wasm-bindgen",
"windows-targets 0.52.6", "windows-targets 0.52.6",
] ]
@ -948,6 +950,7 @@ dependencies = [
name = "drop-app" name = "drop-app"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"chrono",
"directories", "directories",
"hex", "hex",
"http", "http",

View File

@ -40,6 +40,7 @@ tauri-plugin-dialog = "2"
http = "1.1.0" http = "1.1.0"
urlencoding = "2.1.3" urlencoding = "2.1.3"
md5 = "0.7.0" md5 = "0.7.0"
chrono = "0.4.38"
[dependencies.tokio] [dependencies.tokio]
version = "1.40.0" version = "1.40.0"

View File

@ -4,6 +4,7 @@ use std::{
time::{SystemTime, UNIX_EPOCH}, time::{SystemTime, UNIX_EPOCH},
}; };
use chrono::Utc;
use log::{info, warn}; use log::{info, warn};
use openssl::{ec::EcKey, hash::MessageDigest, pkey::PKey, sign::Signer}; use openssl::{ec::EcKey, hash::MessageDigest, pkey::PKey, sign::Signer};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
@ -57,11 +58,7 @@ pub fn generate_authorization_header() -> String {
db.auth.clone().unwrap() db.auth.clone().unwrap()
}; };
let start = SystemTime::now(); let nonce = Utc::now().timestamp_millis().to_string();
let timestamp = start
.duration_since(UNIX_EPOCH)
.expect("Time went backwards");
let nonce = timestamp.as_millis().to_string();
let signature = sign_nonce(certs.private, nonce.clone()).unwrap(); let signature = sign_nonce(certs.private, nonce.clone()).unwrap();