Skip to content
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

Feature/tuf repositoty #561

Draft
wants to merge 41 commits into
base: master
Choose a base branch
from
Draft

Feature/tuf repositoty #561

wants to merge 41 commits into from

Commits on Aug 28, 2024

  1. Update tuf, securesystemslib and cryptography deps

    Remove unused pyopenssl
    
    Signed-off-by: Lukas Puehringer <[email protected]>
    lukpueh committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    60b8fa9 View commit details
    Browse the repository at this point in the history
  2. Add alternative TUF metadata repo implementation

    Implements basic primitives, defined by the python-tuf Repository
    abstraction, to read and edit metadata on disk, handling version and
    expiry bumps, and signature creation, and facilitating snapshot and
    timestamp creation.
    
    And adds exemplary API methods that use these primitives while
    preserving consistent repo states:
    - create
    - add_target_files
    - add_keys
    
    Can be tested with:
    ```
    PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 pytest --noconftest taf/tests/tuf/
    ```
    
    More detailed usage docs + migration path TBD...
    
    Signed-off-by: Lukas Puehringer <[email protected]>
    lukpueh committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    f62907e View commit details
    Browse the repository at this point in the history
  3. Change create and add_keys API to take signers

    The original design aimed at separating the concepts of delegation
    (adding public keys) and signing (using private keys).
    
    Since the MetadataRepository assumes that metadata can be signed
    rightaway after edit (e.g. after having added a delegation), which in
    turn requires private keys to be available, we might as well conflate
    these two concepts.
    
    The advantage is that the signer cache does not have to be managed
    independently and is more likely to stay in sync with the delegations.
    
    Signed-off-by: Lukas Puehringer <[email protected]>
    lukpueh committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    ad2b58f View commit details
    Browse the repository at this point in the history
  4. Make sure targets is signed on add key

    Signed-off-by: Lukas Puehringer <[email protected]>
    lukpueh committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    b46645b View commit details
    Browse the repository at this point in the history
  5. Assert keytype rsa in taf.tuf.keys helper

    This should really happen upstream (see linked issue)
    
    Signed-off-by: Lukas Puehringer <[email protected]>
    lukpueh committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    33750eb View commit details
    Browse the repository at this point in the history
  6. Add signer implementation for Yubikeys

    YkSigner provides a minimal compatibility layer over `taf.yubikey`
    module functions for use with MetadataRepository.
    
    Even though a yubikey signer implementation (HSMSigner) based on
    pykcs11 is available in securesystemslib, YkSigner was added for the
    following reasons:
    
    - TAF requires rsa support for yubikeys, but HSMSigner only supports
      ecdsa. Adding rsa support to HSMSigner, or providing a custom
      pykcs11-based RSAHSMSigner is feasible, and seems desirable, but
      requires more effort than this YkSigner did.
    
    - TAF provides a few additional features, like setting up a Yubikey,
      changing pins, etc., which will not be added to securesystemslib.
      This means the current Yubikey infrastructure based on yubikey-manager
      needs to be preserved for the time being. Thus it made sense to
      re-use the existing implementation for YkSigner.
    
    - YkSigner show-cases the new Signer API and might be used as blue print
      for future Signer implementations in TAF.
    
    This commit adds basic tests with fake and real Yubikey:
    
    ```
    REAL_YK=1 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
        pytest --noconftest  taf/tests/tuf/ taf/tests/tuf/test_yk.py -s
    ```
    
    Signed-off-by: Lukas Puehringer <[email protected]>
    lukpueh committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    42fbfac View commit details
    Browse the repository at this point in the history
  7. Comment out legacy imports (WIP)

    This allows running previously added YkSigner tests, but breaks
    other things, which need change anyway in the course of upgrading to
    latest tuf/securesystemslib.
    
    Signed-off-by: Lukas Puehringer <[email protected]>
    lukpueh committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    25371d7 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2024

  1. Configuration menu
    Copy the full SHA
    ec294a8 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #512 from lukpueh/tuf-upgrade

    Add alternative TUF metadata repo implementation (WIP)
    renatav authored Oct 29, 2024
    Configuration menu
    Copy the full SHA
    70927b7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9bf3fb9 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2024

  1. refact: move get expiration date, get all targets and check expiratio…

    …n dates to the new repository class
    renatav committed Oct 30, 2024
    Configuration menu
    Copy the full SHA
    c7be3cb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7601b9b View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2024

  1. Configuration menu
    Copy the full SHA
    b8d247e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ade9af1 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2024

  1. Configuration menu
    Copy the full SHA
    f1c1b6c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ea05769 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c9857d0 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2024

  1. Configuration menu
    Copy the full SHA
    b7eb34a View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2024

  1. Configuration menu
    Copy the full SHA
    ccb94b8 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2024

  1. Configuration menu
    Copy the full SHA
    43af588 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    feb7b53 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3202900 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2024

  1. Configuration menu
    Copy the full SHA
    af59138 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    51d63c9 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2024

  1. Configuration menu
    Copy the full SHA
    e57b8e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    abeaa2c View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2024

  1. Configuration menu
    Copy the full SHA
    f3bc1f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2681d4a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0d67dd5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ba7d3eb View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2024

  1. Configuration menu
    Copy the full SHA
    ea93127 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4122100 View commit details
    Browse the repository at this point in the history
  3. fix: bare repositories fix

    renatav committed Nov 9, 2024
    Configuration menu
    Copy the full SHA
    e21edfd View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2024

  1. Configuration menu
    Copy the full SHA
    d9e5cc0 View commit details
    Browse the repository at this point in the history
  2. fix: minor create repo fix

    renatav committed Nov 11, 2024
    Configuration menu
    Copy the full SHA
    67fbc2b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c1cd853 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2024

  1. Configuration menu
    Copy the full SHA
    7fe4d2f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e77210b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    947f1e4 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2024

  1. Configuration menu
    Copy the full SHA
    5c56ede View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c92c39b View commit details
    Browse the repository at this point in the history