allow relative paths for root, crt and key in ca.conf#1894
allow relative paths for root, crt and key in ca.conf#1894marten-seemann wants to merge 1 commit intomasterfrom
Conversation
| cfg.Root[i] = step.Abs(root) | ||
| } | ||
| cfg.IntermediateCert = step.Abs(cfg.IntermediateCert) | ||
| cfg.IntermediateKey = step.Abs(cfg.IntermediateKey) |
There was a problem hiding this comment.
Maybe this logic can/should be part of config.LoadConfiguration. That should also allow for testing just this logic as part of the config package tests.
Changing the path in this way most likely results in a different value being marshaled and persisted at a different time. I think we should prevent that from happening. I think with how the config.Config struct is currently used, it'll likely require additional non-exported properties for the updated fields and a getter.
There are some "integration-like" tests that touch the config in https://github.com/smallstep/certificates/blob/master/authority/authority_test.go. They don't test the new behavior, but they can help in adding new tests for this. If you add new tests that operate on the appCommand, you can put them in a new sub dir of test/integration. I've recently started adding tests there, as we've generally been low on integration tests so far.
Fixes #372.
Do we have any end-to-end tests for this?