crypto: Expose the device/identity verification methods through the identities.
parent
0fc5134563
commit
f4de3580b6
|
@ -120,6 +120,8 @@ impl UserSigningPubkey {
|
||||||
.next()
|
.next()
|
||||||
.ok_or(SignatureError::MissingSigningKey)?;
|
.ok_or(SignatureError::MissingSigningKey)?;
|
||||||
|
|
||||||
|
// TODO check that the usage is OK.
|
||||||
|
|
||||||
verify_json(
|
verify_json(
|
||||||
&self.0.user_id,
|
&self.0.user_id,
|
||||||
&DeviceKeyId::try_from(key_id.as_str())?,
|
&DeviceKeyId::try_from(key_id.as_str())?,
|
||||||
|
@ -138,6 +140,8 @@ impl SelfSigningPubkey {
|
||||||
.next()
|
.next()
|
||||||
.ok_or(SignatureError::MissingSigningKey)?;
|
.ok_or(SignatureError::MissingSigningKey)?;
|
||||||
|
|
||||||
|
// TODO check that the usage is OK.
|
||||||
|
|
||||||
verify_json(
|
verify_json(
|
||||||
&self.0.user_id,
|
&self.0.user_id,
|
||||||
&DeviceKeyId::try_from(key_id.as_str())?,
|
&DeviceKeyId::try_from(key_id.as_str())?,
|
||||||
|
@ -160,6 +164,10 @@ impl UserIdentity {
|
||||||
self_signing_key,
|
self_signing_key,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_device_signed(&self, device: &Device) -> Result<(), SignatureError> {
|
||||||
|
self.self_signing_key.verify_device(device)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct OwnUserIdentity {
|
pub struct OwnUserIdentity {
|
||||||
|
@ -187,6 +195,11 @@ impl OwnUserIdentity {
|
||||||
verified: Arc::new(AtomicBool::new(false)),
|
verified: Arc::new(AtomicBool::new(false)),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_identity_signed(&self, identity: &UserIdentity) -> Result<(), SignatureError> {
|
||||||
|
self.user_signing_key
|
||||||
|
.verify_master_key(&identity.master_key)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
Loading…
Reference in New Issue