Repository navigation
API Details
The route table, parameters and examples are in the README.
number defaults to 1 and must be 1–128. size defaults to 256 bits and must be
8–65,536 bits, divisible by 8. A POST issuance request with defaults uses {}.
Retrieval accepts 1–128 IDs, preserving order and duplicates. The UUID carries the
key length; dec_keys needs no size parameter or prior issuance on that endpoint.
Authorized repeat retrieval of the same ID returns the same key while the PSK
remains unchanged, including after a restart. This supports retries; retrieval
does not consume the ID, and IDs do not expire.
Key values use standard padded Base64. IDs are returned in lowercase hyphenated UUID format; retrieval also accepts uppercase hyphenated UUIDs.
A key response has this shape (this test vector uses 32 bytes of 0x07 as
the PSK; deployment secrets must be randomly generated):
{"keys":[{"key_ID":"ab531e5f-28fd-4f93-b7cf-f49a723babac","key":"29dcgpL9WDwAf/0CfUUAm5JptfBv9w7mr7mvu0ZYfo8="}]}Status returns all required ETSI fields. stored_key_count and max_key_count
are fixed at 1,024: a synthetic, non-depleting availability indicator, not a real
pool or lifetime issuance limit. max_key_per_request is 128, key_size is 256,
min_key_size is 8, max_key_size is 65,536, and max_SAE_ID_count is 0.
master_SAE_ID comes from the client certificate; Request-SAE-ID cannot
override it.
Nonempty additional_slave_SAE_IDs is rejected because multicast is not
advertised. Optional extension objects are ignored. Nonempty mandatory extensions
are rejected with not all extension_mandatory parameters are supported.
Malformed requests return HTTP 400 and {"message":"..."}; non-byte-aligned sizes
use size shall be a multiple of 8. Unsupported key formats use
one or more keys specified are not found on KME. No partial key batch is returned
on error. Responses carry Cache-Control: no-store. JSON bodies are limited to 64 KiB (HTTP 413); issuance failures return
503. Unknown routes and unsupported methods return JSON 404/405 errors.