Skip to content

Commit c4f60dd

Browse files
committed
fix(crypto): Only upload our own signature when verifying user identities
1 parent 5a4aa71 commit c4f60dd

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

crates/matrix-sdk-crypto/src/olm/signing/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,9 @@ mod test {
779779

780780
let master = user_signing.sign_user(&bob_public).await.unwrap();
781781

782+
let num_signatures: usize = master.signatures.iter().map(|(_, u)| u.len()).sum();
783+
assert_eq!(num_signatures, 1, "We're only uploading our own signature");
784+
782785
bob_public.master_key = master.into();
783786

784787
user_signing.public_key.verify_master_key(bob_public.master_key()).unwrap();

crates/matrix-sdk-crypto/src/olm/signing/pk_signing.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,10 @@ impl UserSigning {
207207
&self,
208208
user: &ReadOnlyUserIdentity,
209209
) -> Result<CrossSigningKey, SignatureError> {
210-
let signature = self.sign_user_helper(user).await?;
210+
let signatures = self.sign_user_helper(user).await?;
211211
let mut master_key: CrossSigningKey = user.master_key().to_owned().into();
212212

213-
master_key.signatures.extend(signature);
213+
master_key.signatures = signatures;
214214

215215
Ok(master_key)
216216
}

0 commit comments

Comments
 (0)