Declaraciones públicas de zig/src/keyring.zig (spire-zig (SDK consumido)).
apps/docs/generated/zig/spire.jsonPágina generada desde
spire@spire-0.2.0-XvnrRek1BgCX4Bh8miuITCQgkn0FqeQrYYE3goFfDcQd (zig/src/root.zig). No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
Keyring de identidades de servicio (dec-0119 §3): qué claves públicas Ed25519 pertenecen a qué servicio.
kid se deriva de la clave (SHA-256(pk)[0..8]), nunca se configura:
una clave y su id no pueden discrepar.MAX_KEYS_PER_SERVICE claves por servicio (actual + siguiente,
para rotar sin corte).Formato de configuración (parse): servicio=<pk base64url> separados por
comas, el mismo en TS (@spire/bus parseKeyring).
keyring.MAX_ENTRIESconst · línea 21
pub const MAX_ENTRIES: usize = 256Sin ///.
keyring.MAX_KEYS_PER_SERVICEconst · línea 22
pub const MAX_KEYS_PER_SERVICE: usize = 4Sin ///.
keyring.Entrytype · línea 24
pub const Entry = structSin ///.
keyring.Entry.namefn · línea 30
pub fn name(e: *const Entry) []const u8Sin ///.
keyring.AddErrorconst · línea 35
pub const AddError = error{ InvalidServiceName, WeakPublicKey, KeyringFull, TooManyKeysForService, DuplicateKid }Sin ///.
keyring.checkPublicKeyfn · línea 38
pub fn checkPublicKey(raw: [32]u8) error{WeakPublicKey}!Ed25519.PublicKeyValida una clave pública cruda: canónica, no identidad, no de orden bajo.
keyring.Keyringtype · línea 46
pub const Keyring = structSin ///.
keyring.Keyring.addfn · línea 50
pub fn add(self: *Keyring, service: []const u8, raw: [32]u8) AddError!voidSin ///.
keyring.Keyring.byKidfn · línea 67
pub fn byKid(self: *const Keyring, kid: envelope.Kid) ?*const EntrySin ///.
keyring.Keyring.hasServicefn · línea 74
pub fn hasService(self: *const Keyring, service: []const u8) boolSin ///.
keyring.Keyring.ParseErrorconst · línea 81
pub const ParseError = AddError || error{ MalformedEntry, InvalidPublicKeyEncoding }Sin ///.
keyring.Keyring.parsefn · línea 84
pub fn parse(self: *Keyring, text: []const u8) ParseError!voidsvc-a=<b64url>,svc-b=<b64url> (espacios alrededor ignorados).