Python reference implementation of The Update Framework (TUF)
Find a file
Sebastien Awwad b163caa29b
Test: add https test with expired server certificate
in test_download.py. In the process, added another test cert
and generalized the server process killer in test_download.py.

Additionally, I added another expected-to-be-good certificate
that was generated in the same way as the new bad certificates
(but for their individual flaws of course). This is because
the new certs aren't exactly like the old good cert, so that
we have another cert to test against in case the way the
certs were generated turns out to matter at some point in the
future.

Also slightly increased a start-servers delay in the test
in response to one test system taking too long and seeing
connection issues. Probably not helped by the number of
processes. Clarified a related comment in the test code.

Also made a note that environment variable cleanup would be
good to add to test_download.py, either copied from or moved
somewhere accessible from test_proxy_use.py

Signed-off-by: Sebastien Awwad <sebastien.awwad@gmail.com>
2018-09-26 14:15:36 -04:00
.github Add issue and pull request templates 2017-09-28 17:01:56 -04:00
docs Remove the notes about the doc being a work in progress in CLI.md and CLI_EXAMPLES.md 2018-06-28 17:36:03 -04:00
tests Test: add https test with expired server certificate 2018-09-26 14:15:36 -04:00
tuf Session index: hostname-indexed --> scheme+hostname-indexed 2018-09-10 16:56:02 -04:00
.gitignore Ignore virtualenv and pyenv files 2017-10-11 11:34:07 -04:00
.gitmodules Remove ssl_commons and ssl_crypto submodules 2017-01-09 13:00:25 -05:00
.pyup.yml Fix .pyup.yml 2018-03-29 11:09:24 -04:00
.travis.yml Fix before_script entries 2017-12-07 10:36:31 -05:00
appveyor.yml Install extra SSLib dependencies in appveyor.yml 2018-06-04 15:15:01 -04:00
ci-requirements.txt minor: undo some import/dependency re-ordering 2018-08-31 13:28:43 -04:00
dev-requirements.txt Test: remove redundant proxy tests and their requirements, 2018-09-25 15:04:08 -04:00
LICENSE Move license files to root directory 2018-02-05 10:27:04 -05:00
LICENSE-MIT Move license files to root directory 2018-02-05 10:27:04 -05:00
MANIFEST.in Include correct README in MANIFEST.in 2018-06-20 17:50:41 -04:00
pylintrc Add _repository_name and _targets_directory to Pylint's exclude-protected 2018-04-18 11:04:57 -04:00
README.md Use logo that doesn't include text 2018-05-17 11:36:39 -04:00
requirements.in minor: undo some import/dependency re-ordering 2018-08-31 13:28:43 -04:00
requirements.txt Update TUF to handle HTTPS proxies 2018-08-31 13:18:35 -04:00
setup.cfg Update release files. 2014-07-16 12:51:35 -04:00
setup.py Remove partial single-source version; add comments explaining 2018-09-10 16:29:59 -04:00
tox.ini Drop support for Python 3.3 and use ci-requirements in tox.ini 2017-11-09 11:12:48 -05:00

A Framework for Securing Software Update Systems

Travis-CI Coveralls PyUp Python 3 FOSSA CII

TUF

The Update Framework (TUF) helps developers maintain the security of a software update system, even against attackers that compromise the repository or signing keys. TUF provides a flexible framework and specification that developers can adopt into any software update system.

TUF is hosted by the Linux Foundation as part of the Cloud Native Computing Foundation (CNCF) and is used in production by companies such as Docker, DigitalOcean, Flynn, LEAP, Kolide, Cloudflare, and VMware. A variant of TUF called Uptane is widely used to secure over-the-air updates in automobiles.

Documentation

Contact

Please contact us via our mailing list. Questions, feedback, and suggestions are welcomed on this low volume mailing list.

We strive to make the specification easy to implement, so if you come across any inconsistencies or experience any difficulty, do let us know by sending an email, or by reporting an issue in the GitHub specification repo.

Security Issues and Bugs

Security issues can be reported by emailing jcappos@nyu.edu.

At a minimum, the report must contain the following:

  • Description of the vulnerability.
  • Steps to reproduce the issue.

Optionally, reports that are emailed can be encrypted with PGP. You should use PGP key fingerprint E9C0 59EC 0D32 64FA B35F 94AD 465B F9F6 F8EB 475A.

Please do not use the GitHub issue tracker to submit vulnerability reports. The issue tracker is intended for bug reports and to make feature requests. Major feature requests, such as design changes to the specification, should be proposed via a TUF Augmentation Proposal (TAP).

License

This work is dual-licensed and distributed under the (1) MIT License and (2) Apache License, Version 2.0. Please see LICENSE-MIT and LICENSE.

Acknowledgements

This project is managed by Prof. Justin Cappos and other members of the Secure Systems Lab at New York University. Contributors and maintainers are governed by the CNCF Community Code of Conduct.

This material is based upon work supported by the National Science Foundation under Grant Nos. CNS-1345049 and CNS-0959138. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.