-
Notifications
You must be signed in to change notification settings - Fork 20
feat(server): add ELF signing using delivery-kit-sdk #389
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
Open
dmmordvi
wants to merge
30
commits into
main
Choose a base branch
from
feat/server/elf-signing
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 23 commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
e3b158b
feat(server): add ELF signing using delivery-kit-sdk
dmmordvi 9bdb729
server: merge build tags so CGO coverage plugin keeps static+test_covera
dmmordvi f2b5470
ci: install delivery-kit-sdk C deps before e2e CGO builds
dmmordvi cc7034c
docs: document C-dep prerequisite for local e2e and coverpkg rationale
dmmordvi 3ec030b
fix: e2e and lint fixes
dmmordvi 8ad6201
fix: run `deps:install:c` for unit tests, disabled CGO for docs gener…
dmmordvi c2ceb69
docs: changed description
dmmordvi 76144d6
docs: changed description
dmmordvi a1be7c0
test(e2e): verify ELF signing round-trip in complete_cycle
dmmordvi 84ca881
fix(e2e): keep script.sh in linux dirs so clientUse resolves it
dmmordvi c63567e
fix(e2e): simplify ELF signature verification logic
dmmordvi 2fe7e21
chore(e2e): drop misleading linux-arm64 ELF fixture, amd64 only
dmmordvi 8b723c6
chore(e2e): drop redundant platform guard in ELF verify helper
dmmordvi 4d6bef1
test(e2e): verify ELF signing round-trip in flow_vault via real plugin
dmmordvi 015be6e
fix(e2e): add --expires flag to tuf add/timestamp/snapshot (fix for l…
dmmordvi 50585c6
docs: add mention objcopy to description
dmmordvi 3022519
Merge branch 'main' into feat/server/elf-signing
dmmordvi c699e95
docs: change operation description
dmmordvi 780e3a6
refactor: simplify ELF checking, skip disk buffering non-ELF artifacts
dmmordvi 9aa28e6
refactor: rename signing func
dmmordvi d51b4ec
chore: update trdl-builder docker image version
dmmordvi 878d14c
feat: add validation for vault options in case of vault key ref
dmmordvi bfcccb4
feat: check empty key/cert fields
dmmordvi e20a993
fix(server): stop leaking VAULT_* env vars after ELF signing
dmmordvi 2a6c902
fix(server): reject password with vault key reference in ELF signing …
dmmordvi 26e17ea
feat: add cert/key validation for ELF signing. document ELF signing t…
dmmordvi 6b1b07c
fix(server): validate ELF signing config against SDK contract at conf…
dmmordvi d737ed6
feat: improve error handling in GetSettings
dmmordvi 9a3351c
feat: apply some fixes for validation
dmmordvi 9415721
feat: pass Vault signer settings by VaultOpts
dmmordvi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
37 changes: 37 additions & 0 deletions
37
docs/_includes/reference/vault_plugin/configure/delivery_kit_elf_signing.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| Configure ELF binary signing via Delivery Kit. Requires `objcopy` with multi-architecture support on the Vault server host (`binutils-multiarch` on Debian/Ubuntu). | ||
|
|
||
| ## Configure ELF signing | ||
|
|
||
|
|
||
| | Method | Path | | ||
| |--------|------| | ||
| | `POST` | `/configure/delivery_kit_elf_signing` | | ||
|
|
||
| ### Parameters | ||
|
|
||
| * `certificate` (string, required) — Certificate data base64 encoded. | ||
| * `intermediates` (string, optional) — Certificate chain (intermediates and root) base64 encoded, as a single PEM bundle. | ||
| * `key` (string, required) — Private key data base64 encoded or a Vault key reference in the form hashivault://<key>. When a hashivault:// reference is used, configure the vault_* parameters. | ||
| * `password` (string, optional) — Private key password. Ignored when key is a hashivault:// reference. | ||
| * `vault_addr` (string, optional) — Vault server address. Applies only when key is a hashivault:// reference. | ||
| * `vault_auth_path` (string, optional, default: `ar`) — Mount path of Vault auth method. Applies only when key is a hashivault:// reference. | ||
| * `vault_auth_role_id` (string, optional) — AppRole RoleID used to authenticate to Vault. Applies only when key is a hashivault:// reference. | ||
| * `vault_auth_secret_id` (string, optional) — AppRole SecretID used to authenticate to Vault. Applies only when key is a hashivault:// reference. | ||
| * `vault_transit_path` (string, optional) — Mount path of Vault transit engine. Applies only when key is a hashivault:// reference. | ||
|
|
||
| ### Responses | ||
|
|
||
| * 200 — OK. | ||
|
|
||
|
|
||
| ## Reset ELF signing | ||
|
|
||
|
|
||
| | Method | Path | | ||
| |--------|------| | ||
| | `DELETE` | `/configure/delivery_kit_elf_signing` | | ||
|
|
||
|
|
||
| ### Responses | ||
|
|
||
| * 204 — empty body. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
docs/pages_en/reference/vault_plugin/configure/delivery_kit_elf_signing.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| title: /configure/delivery_kit_elf_signing | ||
| permalink: reference/vault_plugin/configure/delivery_kit_elf_signing.html | ||
| --- | ||
|
|
||
| {% include /reference/vault_plugin/configure/delivery_kit_elf_signing.md %} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MINOR: this rename
docker_image→dockerImageis unrelated to the PR's stated scope (ELF signing). Both keys are still parsed byserver/pkg/config/trdl.go(DockerImage+ legacyDockerImageOld), so it's functionally a no-op, but drive-by yaml key renames muddy the git history for a feature PR. Confirm the rename is intentional and consider splitting it into a separate commit or PR.(generated by pi-pi)