OpenAgentID documentation
Source referencesRust module referencearsenal-store

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.

On this page