preload_master_key — Group 15, Code 01

Load or stage master-key material for later retrieval.

Type 8 only (since 19 September 2026)

The live handler accepts Type 8 and nothing else. A Type 0 or Type 1 request is refused with ERROR_INVALID_ENCRYPTION (34) regardless of any configuration flag, because only Type 8’s authenticated header proves who the caller is. The cs_id must be the derived form (denomination byte, 4-byte big-endian serial number, eleven zero bytes) and must equal the caller’s key coin A, else ERROR_INVALID_CS_ID (213). Up to 16 secrets per request are written atomically: all or none.

Purpose

preload_master_key stages master-key material on the live RKE surface so that subsequent share-retrieval requests have something to resolve.

Wire reference — authored from source

This byte layout was derived from the current raidax implementation (rke_preload.c). It reflects the live binary protocol used by the RKE service.

Request Body

CSID Len (4B) 0 Content Server ID (Variable) 4 NS ... KID ... Master Secret (32 bytes) ... 3E 3E

Request elements

...
Element Developer note
Type 8 envelope onlyThe live handler refuses Type 0 and Type 1 (status 34); only the authenticated Type 8 header can authorise a master-key write.
CS identifierVariable-length identifier that scopes the key material set.
Key recordsEach record carries a key id plus a 32-byte master_secret.