obscura-server 0.8.0

A server for relaying secure messages using the Signal Protocol
Documentation
use crate::domain::crypto::{PublicKey, Signature};
use uuid::Uuid;

#[derive(Debug, Clone)]
pub struct SignedPreKey {
    pub key_id: i32,
    pub public_key: PublicKey,
    pub signature: Signature,
}

#[derive(Debug, Clone)]
pub struct OneTimePreKey {
    pub key_id: i32,
    pub public_key: PublicKey,
}

#[derive(Debug, Clone)]
pub struct PreKeyBundle {
    pub device_id: Uuid,
    pub registration_id: i32,
    pub identity_key: PublicKey,
    pub signed_pre_key: SignedPreKey,
    pub one_time_pre_key: Option<OneTimePreKey>,
}

#[derive(Debug, Clone)]
pub struct PreKeyStatus {
    pub one_time_pre_key_count: i32,
    pub min_threshold: i32,
}