Struct SecretKey

Source
pub struct SecretKey {
    pub sk: SecretKey,
}
Expand description

A secret key.

Fields§

§sk: SecretKey

Implementations§

Source§

impl SecretKey

Source

pub fn from_bytes(sk: &[u8]) -> Result<Self, WSError>

Create a secret key from raw bytes.

Source

pub fn from_pem(pem: &str) -> Result<Self, WSError>

Deserialize a PEM-encoded secret key.

Source

pub fn from_der(der: &[u8]) -> Result<Self, WSError>

Deserialize a DER-encoded secret key.

Source

pub fn to_bytes(&self) -> Vec<u8>

Return the secret key as raw bytes.

Source

pub fn to_pem(&self) -> String

Serialize the secret key using PEM encoding.

Source

pub fn to_der(&self) -> Vec<u8>

Serialize the secret key using DER encoding.

Source

pub fn from_file(file: impl AsRef<Path>) -> Result<Self, WSError>

Read a secret key from a file.

Source

pub fn to_file(&self, file: impl AsRef<Path>) -> Result<(), WSError>

Save a secret key to a file.

Source

pub fn from_openssh(lines: &str) -> Result<Self, WSError>

Parse an OpenSSH secret key.

Source

pub fn from_openssh_file(file: impl AsRef<Path>) -> Result<Self, WSError>

Read an OpenSSH key from a file.

Source§

impl SecretKey

Source

pub fn sign_multi( &self, module: Module, key_id: Option<&Vec<u8>>, detached: bool, allow_extensions: bool, ) -> Result<(Module, Vec<u8>), WSError>

Sign a module with the secret key.

If the module was already signed, the new signature is added to the existing ones. key_id is the key identifier of the public key, to be stored with the signature. This parameter is optional.

detached prevents the signature from being embedded.

allow_extensions allows new sections to be added to the module later, while retaining the ability for the original module to be verified.

Source§

impl SecretKey

Source

pub fn sign( &self, module: Module, key_id: Option<&Vec<u8>>, ) -> Result<Module, WSError>

Sign a module with the secret key.

If the module was already signed, the signature is replaced.

key_id is the key identifier of the public key, to be stored with the signature. This parameter is optional.

Trait Implementations§

Source§

impl Clone for SecretKey

Source§

fn clone(&self) -> SecretKey

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
Source§

impl Debug for SecretKey

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for SecretKey

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for SecretKey

Source§

fn eq(&self, other: &SecretKey) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for SecretKey

Source§

impl StructuralPartialEq for SecretKey

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.

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> 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.