Add HTTPS identity rotation support
This commit is contained in:
@@ -70,6 +70,23 @@ esp_err_t web_security_copy_tls_material(
|
||||
esp_err_t web_security_get_certificate_metadata(
|
||||
web_security_certificate_metadata_t *metadata);
|
||||
|
||||
typedef struct {
|
||||
uint32_t generation;
|
||||
uint8_t fingerprint[WEB_SECURITY_SHA256_LENGTH];
|
||||
bool busy;
|
||||
} web_security_identity_snapshot_t;
|
||||
|
||||
/* Zero-wait public metadata only; never returns DER or private material. */
|
||||
esp_err_t web_security_get_identity_snapshot(web_security_identity_snapshot_t *snapshot);
|
||||
|
||||
/* Internal owner transaction shared with canonical mutations. Tokens never reuse.
|
||||
* Reserve before crypto; retain through service restart. No lock stays held.
|
||||
* Zero expected_generation selects canonical CLI semantics; reset permits recovery.
|
||||
* Only the reserving owner may replace once and release its token. */
|
||||
esp_err_t web_security_reserve_identity(uint32_t expected_generation, bool reset, uint32_t *token);
|
||||
esp_err_t web_security_replace_reserved(uint32_t token);
|
||||
void web_security_release_identity(uint32_t token);
|
||||
|
||||
/* Mutations become visible only after a complete blob has committed to NVS. */
|
||||
|
||||
esp_err_t web_security_rotate_certificate(void);
|
||||
|
||||
Reference in New Issue
Block a user