Importing a delegation certificate
As a repository owner:
Add the delegation key to the repository using the
targets/releases
path, as this is what Docker searches for when signing an image (firsttargets
, thentargets/releases
:❯ notary delegation -D -v -s https://127.0.0.1:4443 -d ~/.docker/trust add <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app targets/releases delegation.crt --all-paths Addition of delegation role targets/releases with keys [e93a68479026f002b9dedb35f563cf5abc50aecd18b2205ad296d3101c0d3c21], with paths ["" <all paths>], to repository "<aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app" staged for next publish.
Check the unpublished (staged) changes:
❯ notary -D -v -s https://127.0.0.1:4443 -d ~/.docker/trust status <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app Unpublished changes for <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app: # ACTION SCOPE TYPE PATH - ------ ----- ---- ---- 0 create targets/releases delegation 1 create targets/releases delegation
Publish the queued changes:
❯ notary -v -s https://127.0.0.1:4443 -d ~/.docker/trust publish <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app Pushing changes to <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app Enter passphrase for targets key with ID 79a6fca: Successfully published changes for repository <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app
Enter the previously created
targets
repository key passphrase.Confirm the delegation list looks correct:
❯ notary -v -s https://127.0.0.1:4443 -d ~/.docker/trust delegation list <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app ROLE PATHS KEY IDS THRESHOLD ---- ----- ------- --------- targets/releases "" <all paths> 61a6430… 1