feat(cert): client certificate lifecycle management and auto-renewal #25
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: ochenstarik/server-monitor-manager#25
Loading…
Reference in a new issue
No description provided.
Delete branch "antigravity/cert-lifecycle"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements end-to-end client certificate lifecycle management and auto-renewal for agents and operators.
Changes Included
ClientCertificateDaysinControlOptions.cs(default: 30, validated range: 1..90).AgentClient.cs(EnsureCertificateRenewedAsync) when remaining lifetime is < 1/3. Swaps certificate files atomically via.tmpwith 0600 permissions and falls back gracefully when Hub is offline.ControlClientService.csfor Desktop operator certificates with DPAPI re-encryption.app.MapPost("/api/v1/certificates/renew").agents.MapPost("/certificate/renew")requiringAgentpolicy.control.MapPost("/certificates/renew")requiringOperatorpolicy.RenewalEndpointsRejectUnauthenticatedRequestsunit test confirming 401 Unauthorized rejection for unauthenticated requests.CertificateDays45_IssuesCertificateWith45DaysValidityunit test verifying custom validity period.Control__ClientCertificateDays=999startup validation failure confirmed (OptionsValidationException).