arsenal-store · key_resolver
Declared module signatures, types, configuration, and source documentation.
Source: arsenal/crates/arsenal-store/src/key_resolver.rs. SHA-256: 6fab98ceac09d802887f16520ce1f1d4c030124a181c530a2c17e11befef58a8.
This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.
key_resolver::PublicKeyResolver
Resolves a DID (Decentralized Identifier) to a public signing key.
Implementations may resolve keys from local storage, DID documents, or remote key servers.
pub trait PublicKeyResolver: Send + Sync {
/// Look up the public signing key for a given DID.
///
/// Returns `Ok(Some(key))` if found, `Ok(None)` if not found,
/// or an error if the resolution process itself fails.
fn resolve_public_key(
&self,
did: &str,
) -> Pin<Box<dyn Future<Output = ArsenalResult<Option<PublicSigningKey>>> + Send + '_>>;
}Source line: 19.
key_resolver::InMemoryKeyResolver
In-memory public key resolver for testing and development.
#[derive(Debug, Clone)]
pub struct InMemoryKeyResolver {
}Source line: 32.
key_resolver::InMemoryKeyResolver::new
Create an empty resolver.
#[must_use]
pub fn new() -> Self;Source line: 40.
key_resolver::InMemoryKeyResolver::register
Register a public key for a DID.
pub async fn register(&self, did: &str, key: PublicSigningKey);Source line: 47.