-
The docs say that "step ca roots downloads a certificate bundle with all the root certificates" and that "step ca federation downloads a certificate bundle with all the root certificates in the federation". I have read the tutorial "Federate PKI trust models between multiple autonomous certificate authorities", and I think I understand what a "federation" is. But what are "all the root certificates" (as in step ca roots), as opposed to "all the root certificates in the federation" (as in step ca federation)? Are they the same thing? If not, how do they differ, and when would one want to use one as opposed to the other? Thanks in advance. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
The difference is in which sets of certificates are returned. The {
"root": "examples/pki/secrets/root_ca.crt",
"federatedRoots": ["examples/pki/secrets/federated_root_ca.crt"],
...
} Both can contain multiple files. Full example: https://smallstep.com/docs/step-ca/configuration/#example-configuration |
Beta Was this translation helpful? Give feedback.
-
Thanks. That's what I was guessing, but I wasn't sure because I didn't (and still don't) see any real difference between putting a certificate in one versus the other. Is it just convention that one is supposed to be certificates from the CA being configured while the other is for certificates from other CAs? |
Beta Was this translation helpful? Give feedback.
@rwv37 I agree that look very similar, and I can imagine putting the "other CAs to be federated" under the roots might work for some use cases, so I think it's mainly to explicitly designate they're used for the specific purpose of federation. The roots that are configured are used in several places in the CA (e.g. for bootstrapping trust, used as trusted client CA certificate, etc), whereas the certificates configured as federated are used only to be able to distribute them to clients and servers in need of those trust bundles (in addition to the single root CA they would usually need). The release blog post explains it with an example of a web server that adds the federated roots as tru…