pub struct Journalist { /* private fields */ }Expand description
Journalists: ingredients. Journalists have a signing/verifying key, a reply key, a fetch key, and a collection of one-time signed key bundles
Implementations§
Trait Implementations§
Source§impl Api for Journalist
impl Api for Journalist
Source§fn newsroom_verifying_key(&self) -> Option<&VerifyingKey>
fn newsroom_verifying_key(&self) -> Option<&VerifyingKey>
Returns the stored newsroom verifying key, if one has been verified.
Source§fn set_newsroom_verifying_key(&mut self, key: VerifyingKey)
fn set_newsroom_verifying_key(&mut self, key: VerifyingKey)
Stores a verified newsroom verifying key.
Source§fn fetch_newsroom_keys(&self) -> SourceNewsroomKeyRequest
fn fetch_newsroom_keys(&self) -> SourceNewsroomKeyRequest
Creates a request to fetch the newsroom’s public keys from the server. Read more
Source§fn fetch_journalist_keys(&self) -> SourceJournalistKeyRequest
fn fetch_journalist_keys(&self) -> SourceJournalistKeyRequest
Creates a request to fetch journalist public keys from the server. Read more
Source§fn fetch_message_ids<R: RngCore + CryptoRng>(
&self,
_rng: &mut R,
) -> MessageChallengeFetchRequest
fn fetch_message_ids<R: RngCore + CryptoRng>( &self, _rng: &mut R, ) -> MessageChallengeFetchRequest
Creates a request to fetch encrypted message IDs from the server. Read more
Source§fn solve_fetch_challenges(
&self,
challenges: &[FetchResponse],
) -> Result<Vec<Uuid>, Error>where
Self: Sized + UserSecret,
fn solve_fetch_challenges(
&self,
challenges: &[FetchResponse],
) -> Result<Vec<Uuid>, Error>where
Self: Sized + UserSecret,
Solves the encrypted message-ID challenges returned by the server. Read more
Source§fn fetch_message(&self, message_id: Uuid) -> Option<MessageFetchRequest>
fn fetch_message(&self, message_id: Uuid) -> Option<MessageFetchRequest>
Creates a request to fetch a specific message by its ID. Read more
Source§fn submit_message<R, S, P>(
&self,
rng: &mut R,
message: &[u8],
sender: &S,
recipient: &P,
) -> Result<Envelope, Error>
fn submit_message<R, S, P>( &self, rng: &mut R, message: &[u8], sender: &S, recipient: &P, ) -> Result<Envelope, Error>
Source§fn handle_newsroom_key_response(
&mut self,
response: &SourceNewsroomKeyResponse,
fpf_verifying_key: &VerifyingKey,
) -> Result<(), Error>
fn handle_newsroom_key_response( &mut self, response: &SourceNewsroomKeyResponse, fpf_verifying_key: &VerifyingKey, ) -> Result<(), Error>
Verifies and stores the newsroom’s verifying key from a server response. Read more
Source§fn handle_journalist_key_response(
&self,
response: &SourceJournalistKeyResponse,
newsroom_verifying_key: &VerifyingKey,
) -> Result<(), Error>
fn handle_journalist_key_response( &self, response: &SourceJournalistKeyResponse, newsroom_verifying_key: &VerifyingKey, ) -> Result<(), Error>
Verifies a journalist’s key response against the newsroom’s signature. Read more
Source§impl Enrollable for Journalist
impl Enrollable for Journalist
fn enroll(&self) -> Enrollment
Source§fn signed_keybundles(&self) -> Vec<SignedKeyBundlePublic> ⓘ
fn signed_keybundles(&self) -> Vec<SignedKeyBundlePublic> ⓘ
Each item is a
SignedKeyBundlePublic: the public keys together with the
journalist’s self-signature over them.fn signing_key(&self) -> &VerifyingKey
Source§impl UserSecret for Journalist
Private, common to all users, implemented for Journalists
impl UserSecret for Journalist
Private, common to all users, implemented for Journalists
fn num_bundles(&self) -> usize
fn fetch_keypair(&self) -> (&DHPrivateKey, &DHPublicKey)
Source§fn message_auth_key(&self) -> &MessagePrivateKey
fn message_auth_key(&self) -> &MessagePrivateKey
The long-term SD-APKE private key
sk^APKE.Source§fn message_auth_pk(&self) -> &MessagePublicKey
fn message_auth_pk(&self) -> &MessagePublicKey
The long-term SD-APKE public key
pk^APKE.fn build_message(&self, message: Vec<u8>) -> Plaintext
fn keybundles(&self) -> Vec<&MessageKeyBundle>
Auto Trait Implementations§
impl Freeze for Journalist
impl RefUnwindSafe for Journalist
impl Send for Journalist
impl Sync for Journalist
impl Unpin for Journalist
impl UnsafeUnpin for Journalist
impl UnwindSafe for Journalist
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
§impl<T> Classify for T
impl<T> Classify for T
type Classified = T
fn classify(self) -> T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<T> JournalistApi for Twhere
T: Api + Enrollable + RestrictedApi,
impl<T> JournalistApi for Twhere
T: Api + Enrollable + RestrictedApi,
Source§fn create_setup_request(&self) -> Result<JournalistSetupRequest, Error>
fn create_setup_request(&self) -> Result<JournalistSetupRequest, Error>
Creates an enrollment request for initial journalist onboarding. Read more
Source§fn create_ephemeral_key_request(&self) -> JournalistEphemeralKeyRequest
fn create_ephemeral_key_request(&self) -> JournalistEphemeralKeyRequest
Creates a request to replenish ephemeral key bundles on the server. Read more