signature extension

This commit is contained in:
2025-12-18 14:06:02 +01:00
parent 6ac06ccfe5
commit 3fa81e9ee3
2 changed files with 14 additions and 10 deletions

View File

@@ -53,8 +53,11 @@ pub fn sign_message(crypto_pair: CryptographicSignature, message: Vec<u8>) -> Ve
.try_into() .try_into()
.expect("slice with incorrect length"); .expect("slice with incorrect length");
let msg_length = u16::from_be_bytes(length_bytes); let msg_length = u16::from_be_bytes(length_bytes);
println!("{}", msg_length); println!(
let digest = Sha256::digest(&message[..8 + msg_length as usize]); "message to serialize: {:?}",
&message[..7 + msg_length as usize]
);
let digest = Sha256::digest(&message[..7 + msg_length as usize]);
let signature = crypto_pair.priv_key.sign_prehash_recoverable(&digest); let signature = crypto_pair.priv_key.sign_prehash_recoverable(&digest);
let message_length = 12 + msg_length as usize + 32; let message_length = 12 + msg_length as usize + 32;
@@ -67,12 +70,13 @@ pub fn sign_message(crypto_pair: CryptographicSignature, message: Vec<u8>) -> Ve
Ok(signature) => { Ok(signature) => {
//println!("Signature: {:?}", signature); //println!("Signature: {:?}", signature);
let r = signature.0.r(); let r = signature.0.r();
let s = signature.0.s();
let r_bytes = r.to_bytes(); // Returns a GenericArray/bytes object let r_bytes = r.to_bytes(); // Returns a GenericArray/bytes object
let s_bytes = s.to_bytes();
signed_message.extend_from_slice(&r_bytes[..32]); signed_message.extend_from_slice(&r_bytes[..32]);
signed_message.extend_from_slice(&s_bytes[..32]);
println!("signed:{:?}", signed_message); println!("signed:{:?}", signed_message);
println!("rbytes:{:?}", &r_bytes[..32]);
signed_message signed_message
} }
Err(e) => { Err(e) => {

View File

@@ -79,23 +79,23 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn registering_with_server() { async fn registering_with_server() {
let username = String::from("gamemixtreize"); let username = String::from("gamixtreize");
let crypto_pair = CryptographicSignature::new(username); let crypto_pair = CryptographicSignature::new(username);
if let Err(e) = register_with_the_server(crypto_pair).await { if let Err(e) = register_with_the_server(crypto_pair).await {
eprintln!("Error during registration: {}", e); eprintln!("Error during registration: {}", e);
} }
} }
/*#[tokio::test] #[tokio::test]
async fn retreive_socket_addr() { async fn retreive_socket_addr() {
let username = String::from("ipjkndqfshjldfsjlbsdfjhhj"); let username = String::from("ipjkndqfshjldfsjlbsdfjhhj");
match get_socket_address(username).await { match get_socket_address(username).await {
Ok(body) => { Ok(body) => {
println!("{:?}",body); println!("{:?}", body);
} }
Err(e) => { Err(e) => {
eprintln!("Erreur HTTP: {}", e); eprintln!("Erreur HTTP: {}", e);
} }
} }
}*/ }
} }