Struct sc_keystore::Store [−][src]
Key store.
Stores key pairs in a file system store + short lived key pairs in memory.
Every pair that is being generated by a seed
, will be placed in memory.
Implementations
impl Store
[src]
pub fn open<T: Into<PathBuf>>(
path: T,
password: Option<SecretString>
) -> Result<KeyStorePtr>
[src]
path: T,
password: Option<SecretString>
) -> Result<KeyStorePtr>
Open the store at the given path.
Optionally takes a password that will be used to encrypt/decrypt the keys.
pub fn new_in_memory() -> KeyStorePtr
[src]
Create a new in-memory store.
pub fn insert_by_type<Pair: PairT>(
&self,
key_type: KeyTypeId,
suri: &str
) -> Result<Pair>
[src]
&self,
key_type: KeyTypeId,
suri: &str
) -> Result<Pair>
Insert a new key.
Places it into the file system store.
pub fn insert<Pair: AppPair>(&self, suri: &str) -> Result<Pair>
[src]
Insert a new key.
Places it into the file system store.
pub fn generate_by_type<Pair: PairT>(&self, key_type: KeyTypeId) -> Result<Pair>
[src]
Generate a new key.
Places it into the file system store.
pub fn generate<Pair: AppPair>(&self) -> Result<Pair>
[src]
Generate a new key.
Places it into the file system store.
pub fn insert_ephemeral_from_seed_by_type<Pair: PairT>(
&mut self,
seed: &str,
key_type: KeyTypeId
) -> Result<Pair>
[src]
&mut self,
seed: &str,
key_type: KeyTypeId
) -> Result<Pair>
Create a new key from seed.
Does not place it into the file system store.
pub fn insert_ephemeral_from_seed<Pair: AppPair>(
&mut self,
seed: &str
) -> Result<Pair>
[src]
&mut self,
seed: &str
) -> Result<Pair>
Create a new key from seed.
Does not place it into the file system store.
pub fn key_pair_by_type<Pair: PairT>(
&self,
public: &Pair::Public,
key_type: KeyTypeId
) -> Result<Pair>
[src]
&self,
public: &Pair::Public,
key_type: KeyTypeId
) -> Result<Pair>
Get a key pair for the given public key and key type.
pub fn key_pair<Pair: AppPair>(
&self,
public: &<Pair as AppKey>::Public
) -> Result<Pair>
[src]
&self,
public: &<Pair as AppKey>::Public
) -> Result<Pair>
Get a key pair for the given public key.
pub fn public_keys<Public: AppPublic>(&self) -> Result<Vec<Public>>
[src]
Get public keys of all stored keys that match the key type.
This will just use the type of the public key (a list of which to be returned) in order to determine the key type. Unless you use a specialized application-type public key, then this only give you keys registered under generic cryptography, and will not return keys registered under the application type.
Trait Implementations
impl BareCryptoStore for Store
[src]
fn keys(&self, id: KeyTypeId) -> Result<Vec<CryptoTypePublicPair>, TraitError>
[src]
fn supported_keys(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Result<Vec<CryptoTypePublicPair>, TraitError>
[src]
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Result<Vec<CryptoTypePublicPair>, TraitError>
fn sign_with(
&self,
id: KeyTypeId,
key: &CryptoTypePublicPair,
msg: &[u8]
) -> Result<Vec<u8>, TraitError>
[src]
&self,
id: KeyTypeId,
key: &CryptoTypePublicPair,
msg: &[u8]
) -> Result<Vec<u8>, TraitError>
fn sr25519_public_keys(&self, key_type: KeyTypeId) -> Vec<Public>
[src]
fn sr25519_generate_new(
&mut self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
[src]
&mut self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
fn ed25519_public_keys(&self, key_type: KeyTypeId) -> Vec<Public>
[src]
fn ed25519_generate_new(
&mut self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
[src]
&mut self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
fn ecdsa_public_keys(&self, key_type: KeyTypeId) -> Vec<Public>
[src]
fn ecdsa_generate_new(
&mut self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
[src]
&mut self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, TraitError>
fn insert_unknown(
&mut self,
key_type: KeyTypeId,
suri: &str,
public: &[u8]
) -> Result<(), ()>
[src]
&mut self,
key_type: KeyTypeId,
suri: &str,
public: &[u8]
) -> Result<(), ()>
fn password(&self) -> Option<&str>
[src]
fn has_keys(&self, public_keys: &[(Vec<u8>, KeyTypeId)]) -> bool
[src]
fn sr25519_vrf_sign(
&self,
key_type: KeyTypeId,
public: &Sr25519Public,
transcript_data: VRFTranscriptData<'_>
) -> Result<VRFSignature, TraitError>
[src]
&self,
key_type: KeyTypeId,
public: &Sr25519Public,
transcript_data: VRFTranscriptData<'_>
) -> Result<VRFSignature, TraitError>
pub fn sign_with_any(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<(CryptoTypePublicPair, Vec<u8, Global>), Error>
[src]
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<(CryptoTypePublicPair, Vec<u8, Global>), Error>
pub fn sign_with_all(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<Vec<Result<Vec<u8, Global>, Error>, Global>, ()>
[src]
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair, Global>,
msg: &[u8]
) -> Result<Vec<Result<Vec<u8, Global>, Error>, Global>, ()>
Auto Trait Implementations
impl RefUnwindSafe for Store
impl Send for Store
impl Sync for Store
impl Unpin for Store
impl UnwindSafe for Store
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
pub fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,