Skip to main content

IssuerContext

Struct IssuerContext 

Source
pub struct IssuerContext { /* private fields */ }
Expand description

Runtime issuer context containing issuer identity and PBRSA signing key.

Implementations§

Source§

impl IssuerContext

Source

pub fn generate() -> Result<Self, CredentialsError>

Generate an issuer context with fresh Nostr identity and PBRSA key pairs.

Source

pub fn generate_with_thread_rng() -> Result<Self, CredentialsError>

Generate an issuer context using a thread-local CSPRNG seeded from the system RNG.

Source

pub fn generate_with_system_rng() -> Result<Self, CredentialsError>

Generate an issuer context using direct system randomness for each keygen draw.

Source

pub fn issuer_authority( &self, revocation: Vec<RevocationLocation>, ) -> Result<IssuerAuthority, CredentialsError>

Build and sign this issuer’s public metadata.

The returned authority binds the issuer’s derived Nostr identity key to the current PBRSA issuance public key and the supplied revocation locations.

Source

pub fn export_secret_key(&self) -> Result<IssuerSecretKeys, CredentialsError>

Export this issuer’s identity and issuance secret keys.

Source

pub fn import_secret_key( secret_key: &IssuerSecretKeys, ) -> Result<Self, CredentialsError>

Import an issuer context from previously exported secret keys.

Source

pub fn issue_credential( &self, info: Value, request: &IssuanceRequest, ) -> Result<IssuanceResponse, CredentialsError>

Issue a blind signature over a holder issuance request.

Source

pub fn revoke_credential( &self, credential: &SignedCredential, ) -> Result<SignedRevocation, CredentialsError>

Build and sign the revocation for a finalized credential issued by this issuer.

This computes the finalized credential digest and binds it to this issuer identity. It does not publish or transport the revocation; those concerns live outside the core protocol.

Trait Implementations§

Source§

impl Clone for IssuerContext

Source§

fn clone(&self) -> IssuerContext

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more