From 7a21c71817cf3d1d3d837be25e9b90f867ce0ad7 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 28 Aug 2026 12:57:07 +0200 Subject: [PATCH] Sending pubkey --- src/protocol/initialize.rs | 11 +++++++++++ src/ws.rs | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/protocol/initialize.rs b/src/protocol/initialize.rs index 264b839..b27f5cc 100644 --- a/src/protocol/initialize.rs +++ b/src/protocol/initialize.rs @@ -4,6 +4,7 @@ use std::{ }; use ed25519_dalek::{Signer, VerifyingKey}; +use futures_util::SinkExt; use crate::{server::Server, ws::EnclaveWebSocket}; @@ -15,6 +16,16 @@ impl UserConnections { server: &Arc, socket: Arc, ) -> anyhow::Result<(Arc, VerifyingKey, ClientMeta)> { + { + socket + .tx() + .await + .send(axum::extract::ws::Message::Binary( + server.key.verifying_key().to_bytes().to_vec().into(), + )) + .await?; + } + let Some(ServerMethod::Initialize { public_key: public_key_string, signature, diff --git a/src/ws.rs b/src/ws.rs index de5e692..225c9c1 100644 --- a/src/ws.rs +++ b/src/ws.rs @@ -5,7 +5,7 @@ use futures_util::{ SinkExt, StreamExt, stream::{SplitSink, SplitStream}, }; -use tokio::sync::Mutex; +use tokio::sync::{Mutex, MutexGuard}; use crate::protocol::{ClientMethod, ServerMethod}; @@ -62,4 +62,8 @@ impl EnclaveWebSocket { Ok(()) } + + pub async fn tx(&self) -> MutexGuard<'_, SplitSink> { + self.tx.lock().await + } }