[][src]Struct acme_lib::Account

pub struct Account<P: Persist> { /* fields omitted */ }

Account with an ACME provider.

Accounts are created using Directory::account and consist of a contact email address and a private key for signing requests to the ACME API.

acme-lib uses elliptic curve P-256 for accessing the account. This does not affect which key algorithms that can be used for the issued certificates.

The advantage of using elliptic curve cryptography is that the signed requests against the ACME lib are kept small and that the public key can be derived from the private.

Methods

impl<P: Persist> Account<P>[src]

pub fn acme_private_key_pem(&self) -> String[src]

Private key for this account.

The key is an elliptic curve private key.

pub fn contact_email(&self) -> &str[src]

Contact email for this account.

pub fn certificate(&self, primary_name: &str) -> Result<Option<Certificate>>[src]

Get an already issued and downloaded certificate.

Every time a certificate is downloaded, the certificate and corresponding private key are persisted. This method returns an already existing certificate from the local storage (no API calls involved).

This can form the basis for implemeting automatic renewal of certificates where the valid days left are running low.

pub fn new_order(
    &self,
    primary_name: &str,
    alt_names: &[&str]
) -> Result<NewOrder<P>>
[src]

Create a new order to issue a certificate for this account.

Each order has a required primary_name (which will be set as the certificates CN) and a variable number of alt_names.

This library doesn't constrain the number of alt_names, but it is limited by the ACME API provider. Let's Encrypt sets a max of 100 names per certificate.

Every call creates a new order with the ACME API provider, even when the domain names supplied are exactly the same.

pub fn revoke_certificate(
    &self,
    cert: &Certificate,
    reason: RevocationReason
) -> Result<()>
[src]

Revoke a certificate for the reason given.

This calls the ACME API revoke endpoint, but does not affect the locally persisted certs, the revoked certificate will still be available using certificate.

pub fn api_account(&self) -> &ApiAccount[src]

Access the underlying JSON object for debugging.

Trait Implementations

impl<P: Clone + Persist> Clone for Account<P>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<P> Send for Account<P> where
    P: Sync

impl<P> Sync for Account<P> where
    P: Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.