You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(secure): support cold-start key exchange with empty pre-shared keys
Allow key exchange to proceed when both pipeline and implant enable
secure mode but neither provides pre-shared Age keys. The first
communication happens in plaintext; once key exchange completes the
session switches to encrypted.
Changes:
- GetKeyPairForSession returns empty KeyPair instead of nil when secure
is enabled but keys are empty, so the parser stays in secure-aware
plaintext mode and picks up new keys after PushCtrl.
- initializeSecureManager safely handles nil ImplantKeypair/ServerKeypair
to prevent panics on pipelines with no pre-shared keys.
- Move ResetCounters into the successful key-exchange callback so a
failed attempt triggers an immediate retry on the next checkin instead
of waiting 100 messages.
0 commit comments