fix: add back algorithm, fix digest fn
This commit is contained in:
parent
e8eff349cf
commit
8437de6c1b
1 changed files with 2 additions and 2 deletions
|
@ -99,7 +99,7 @@ async fn worker(db: DatabaseConnection, domain: String, poll_interval: u64) -> R
|
||||||
|
|
||||||
async fn deliver(key: &PKey<Private>, to: &str, from: &str, payload: serde_json::Value, domain: &str) -> Result<(), UpubError> {
|
async fn deliver(key: &PKey<Private>, to: &str, from: &str, payload: serde_json::Value, domain: &str) -> Result<(), UpubError> {
|
||||||
let payload = serde_json::to_string(&payload).unwrap();
|
let payload = serde_json::to_string(&payload).unwrap();
|
||||||
let digest = format!("sha-256={}", sha256::digest(&payload));
|
let digest = format!("sha-256={}", base64::prelude::BASE64_URL_SAFE.encode(openssl::sha::sha256(payload.as_bytes())));
|
||||||
let host = Context::server(to);
|
let host = Context::server(to);
|
||||||
let date = chrono::Utc::now().format("%d %b %Y %H:%M:%S %Z").to_string(); // TODO literally what the fuck
|
let date = chrono::Utc::now().format("%d %b %Y %H:%M:%S %Z").to_string(); // TODO literally what the fuck
|
||||||
let path = to.replace("https://", "").replace("http://", "").replace(&host, "");
|
let path = to.replace("https://", "").replace("http://", "").replace(&host, "");
|
||||||
|
@ -135,7 +135,7 @@ async fn deliver(key: &PKey<Private>, to: &str, from: &str, payload: serde_json:
|
||||||
let mut signer = Signer::new(MessageDigest::sha256(), key)?;
|
let mut signer = Signer::new(MessageDigest::sha256(), key)?;
|
||||||
signer.update(to_sign.as_bytes())?;
|
signer.update(to_sign.as_bytes())?;
|
||||||
let signature = base64::prelude::BASE64_URL_SAFE.encode(signer.sign_to_vec()?);
|
let signature = base64::prelude::BASE64_URL_SAFE.encode(signer.sign_to_vec()?);
|
||||||
format!("keyId=\"{from}#main-key\",headers=\"host date digest\",signature=\"{signature}\"")
|
format!("keyId=\"{from}#main-key\",algorithm=\"rsa-sha256\",headers=\"host date digest\",signature=\"{signature}\"")
|
||||||
};
|
};
|
||||||
|
|
||||||
tracing::info!("signature header:\n{signature_header}");
|
tracing::info!("signature header:\n{signature_header}");
|
||||||
|
|
Loading…
Reference in a new issue