Skip to main content

HostWithStore

pub trait HostWithStore<T>: HasData + Send {
    // Required methods
    fn import_verifying_key_raw(
        accessor: &Accessor<T, Self>,
        raw: Vec<u8>,
    ) -> impl Future<Output = Result<Result<Resource<VerifyingKey>, Error>>> + Send;
    fn import_verifying_key_spki(
        accessor: &Accessor<T, Self>,
        spki: Vec<u8>,
    ) -> impl Future<Output = Result<Result<Resource<VerifyingKey>, Error>>> + Send;
    fn import_verifying_key_jwk(
        accessor: &Accessor<T, Self>,
        jwk: String,
    ) -> impl Future<Output = Result<Result<Resource<VerifyingKey>, Error>>> + Send;
}

Required Methods§

Source

fn import_verifying_key_raw( accessor: &Accessor<T, Self>, raw: Vec<u8>, ) -> impl Future<Output = Result<Result<Resource<VerifyingKey>, Error>>> + Send

Import a 32-byte raw public key (RFC 8032 encoding). Material of any other length fails with error.invalid-key; a non-canonical or small-order encoding is rejected here or at verification, per the interface’s verification criterion.

Source

fn import_verifying_key_spki( accessor: &Accessor<T, Self>, spki: Vec<u8>, ) -> impl Future<Output = Result<Result<Resource<VerifyingKey>, Error>>> + Send

Import a public key as an X.509 SubjectPublicKeyInfo (DER, RFC 8410 algorithm id 1.3.101.112). The embedded point is subject to the same strict criterion as import-verifying-key-raw.

Source

fn import_verifying_key_jwk( accessor: &Accessor<T, Self>, jwk: String, ) -> impl Future<Output = Result<Result<Resource<VerifyingKey>, Error>>> + Send

Import a public key as an RFC 8037 OKP public JWK (kty: "OKP", crv: "Ed25519", x). jwk is the JWK as JSON text; see mac-key.export-key-jwk for the package-wide JWK contract. An alg member, when present, must be "Ed25519" or "EdDSA". The same strict point criterion applies.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§