pub struct ZoneKey { /* private fields */ }Expand description
A zone signing key: an Ed25519 key bound to its self-certifying zone root name.
The zone root is computed deterministically from the public key, so this struct owns both the signing capability and the canonical zone namespace.
Implementations§
Source§impl ZoneKey
impl ZoneKey
Sourcepub fn from_seed(seed: &[u8; 32]) -> Self
pub fn from_seed(seed: &[u8; 32]) -> Self
Derive a ZoneKey from a raw 32-byte Ed25519 seed.
The zone root name is computed as blake3(verifying_key_bytes).
Sourcepub fn from_signing_key_bytes(bytes: &[u8; 32]) -> Self
pub fn from_signing_key_bytes(bytes: &[u8; 32]) -> Self
Derive a ZoneKey from raw Ed25519 signing-key bytes (32-byte seed).
Sourcepub fn zone_root_name(&self) -> &Name
pub fn zone_root_name(&self) -> &Name
The self-certifying zone root name derived from this key.
This is a single-component name containing the BLAKE3 digest of the Ed25519 verifying key bytes.
Sourcepub fn public_key_bytes(&self) -> &[u8; 32]
pub fn public_key_bytes(&self) -> &[u8; 32]
The raw 32-byte Ed25519 verifying (public) key.
Sourcepub fn signer(&self) -> &Ed25519Signer
pub fn signer(&self) -> &Ed25519Signer
The signer — can be used with DataBuilder::sign() or SignWith.
Sourcepub fn into_arc_signer(self) -> Arc<dyn Signer>
pub fn into_arc_signer(self) -> Arc<dyn Signer>
Returns an Arc<dyn Signer> suitable for storage in a KeyStore.
Sourcepub fn child_name(&self, suffix: &str) -> Result<Name, PacketError>
pub fn child_name(&self, suffix: &str) -> Result<Name, PacketError>
Derive a child name under this zone root.
Example: if zone root is /[blake3:abcd…], then
zone.child_name("/sensor/temp") returns /[blake3:abcd…]/sensor/temp.
Sourcepub fn zone_root_did(&self) -> String
pub fn zone_root_did(&self) -> String
The did:ndn DID string for this zone root.
Returns did:ndn:<base64url(Name-TLV)> — the unified binary encoding.
Sourcepub fn is_zone_child(&self, name: &Name) -> bool
pub fn is_zone_child(&self, name: &Name) -> bool
Verify that a name is a direct child of this zone (has zone root as prefix).