Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store CA intermediates in bundle #633

Merged
merged 2 commits into from
Nov 14, 2018

Conversation

azdagron
Copy link
Member

SPIRE was recently refactored to properly convey signing intermediates
down through the Node and Workload APIs. At that time the bundle was
changed to only include the signing root. Backwards compatability with
old agents was done at the Node API layer; intermediate certificates
from minted SVIDs were appended to the bundle before the result was
returned to the agent.

This approach was insufficient and broken since 1) the intermediates
would not be appended to bundles returned to agents talking with other
servers (in an HA scenario), and 2) the agent uses the same fetch call
to learn about new registration entries without asking for anything to
be signed, which caused the server to return a bundle without
intermediates.

This change removes the shim in the Node API and instead stores the
intermediates in the bundle so they are consistently returned from the
Node API and available in HA depoloyments. SPIRE 0.8.0 can revert the
change to no longer store the intermediates.

SPIRE was recently refactored to properly convey signing intermediates
down through the Node and Workload APIs. At that time the bundle was
changed to only include the signing root. Backwards compatability with
old agents was done at the Node API layer; intermediate certificates
from minted SVIDs were appended to the bundle before the result was
returned to the agent.

This approach was insufficient and broken since 1) the intermediates
would not be appended to bundles returned to agents talking with other
servers (in an HA scenario), and 2) the agent uses the same fetch call
to learn about new registration entries without asking for anything to
be signed, which caused the server to return a bundle without
intermediates.

This change removes the shim in the Node API and instead stores the
intermediates in the bundle so they are consistently returned from the
Node API and available in HA depoloyments. SPIRE 0.8.0 can revert the
change to no longer store the intermediates.

Signed-off-by: Andrew Harding <azdagron@gmail.com>
Copy link
Member

@evan2645 evan2645 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⭕️ 🕋

less is more!

@azdagron azdagron merged commit 854b733 into spiffe:master Nov 14, 2018
@azdagron azdagron deleted the store-intermediates-in-bundle branch November 14, 2018 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants