-
Notifications
You must be signed in to change notification settings - Fork 512
Notary x.x.x Project Page
David Lawrence edited this page Jul 23, 2015
·
28 revisions
- 07/21/2015 - Code Freeze
- 08/04/2015 - Release
- Release an “alpha” of a local key management tool that can sign and verify binary content.
The scope of these changes will be limited to the docker push and docker pull commands as these represent publishing and acquiring data to and from the public internet where the highest probability of tampering exists. This involves:
- Updates to the CLI client to interact with Notary Server.
- Updates to the CLI to interact with the local key management tool.
- Updates to the interactions between the CLI and daemon to make use of, and provide, the information necessary to Trust.
- Minor updates to the engine to make use of the known content size the Trust system will provide (N.B. the engine is already capable of pull by digest, the Trust system will make this the default way of acquiring content).
- Ship and deploy production ready versions of Notary Server and Rufus
- Add key persistence with encryption to notary-signer.
- Add upload validation to notary server (confirm TUF data is structurally correct and signed correctly).
- Documentation (gotuf, notary-{server,signer,client}).
- Sign all official repositories
- CRITICAL: Re-enable expiry check in signature verification. It was disabled to test against the PyPI sample.
- rewrite repo.go
- make verifiers configurable for multiple algorithms
-
switch out to a better sql database and remove most of the transactionsUsers will sign targets. No need for SQL backend any more. -
fix up dbstore to be more dynamic -
integrate the idea of a caching location for the JSON files separate from the storage location of the unsigned targetsNo longer required. The server will not deal in unsigned targets metadata. - BONUS: add targets delegations, currently not supported
- finish up the restart stuff to clean up old connections, possibly just integrate something pre-built
- garant token authentication
- integration with rewritten TUF code
- finish and productionize "trustmanager" (key management client library/binary)
- requires timestamping
- client work (support export, etc)
- test Publish
- add support for key export
- create keymanagement abstraction around keys (NotaryKeyManager)
- Add support for targets key encryption
- review and document keychain validation process
- get rid of "TODOALGORITHM"
- sort out Diogo's "XXX Remove this before shipping" item(s)
- update key ID generation to match TUF methodology.
- add persistence with encrypted storage of software private keys
- move into notary repo
- refactor cryptoservice to deduplicate with rufus
- make rufus use data.KeyAlgorithms
docker (PRs are in)
- Integration of TUF client
- Integration of trustmanager
-
Updates to client <-> daemon communication to use/support TUF verification and signing - Updates to push and pull commands to do signing and verification of TUF data
- unify data types (especially keys) between rufus, vetinari, and go-tuf
- documentation!
- unify how we log
- unify how we configure - Viper
- ensure all integration points use interfaces to support future flexibility and dependency injection
- custom cert validation tools for QDN scheme? (Diogo)
- engine refactor to isolate distribution code (Derek completing for 1.8)
-
image signingUsers will sign TUF targets. Functionally replaces image signing.
- >80% test coverage
(29 Jun 2015 - 10 Jul 2015)
Goal: the implementation is fully testable with pending merges:
- docker UX is PR-ed
- docker cli integration of notary library is PR-ed
(13 Jul 2015 - 24 Jul 2015)