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

Offer implementation of the Stateless OpenPGP Command-Line Interface ("SOP") #440

Open
wants to merge 52 commits into
base: master
Choose a base branch
from

Commits on Jun 16, 2023

  1. initial PGPy-backed implementation of sop

    It works in the basic mode, but we still need to handle the args for
    encrypt/decrypt.
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    26e6c37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8dabb3a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1d5e06e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    814a65e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    adbd3bd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    820a9fc View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    19c7f7e View commit details
    Browse the repository at this point in the history
  8. cleanup and overhaul python sop.py framework

     - add enums for the flags passed into the sop interface
    
     - make member functions of StatelessOpenPGP well-typed
    
     - adjust docstrings so that help(sop) provides useful guidance
    
     - handle sessionkey and timestamp parsing in sop.py
    
     - handle all indirect access directly in sop.py
    
     - complete strict typing ("mypy --strict sop.py" passes)
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    699f4b0 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    dad83bc View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    48f2cc1 View commit details
    Browse the repository at this point in the history
  11. sop decrypt: handle session key and verification output cleanly

    Signed-off-by: Daniel Kahn Gillmor <[email protected]>
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    0a64e50 View commit details
    Browse the repository at this point in the history
  12. Enable easier extension to the sop interface

    By making all arguments to the functions keyword arguments, we can
    use **kwargs to receive any extended options.
    
    Signed-off-by: Daniel Kahn Gillmor <[email protected]>
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    95b635a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    d5aaa90 View commit details
    Browse the repository at this point in the history
  14. sopgpy: move to 0.2.0 of python-sop

    This reflects the changes to the subcommand names and additional
    arguments from draft-dkg-openpgp-stateless-cli-01
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    6a5f4cd View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    b2b861c View commit details
    Browse the repository at this point in the history
  16. sopgpy: encrypt --sign-with

    This implements simple signatures inside encryption for sopgpy
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    e0b6b9a View commit details
    Browse the repository at this point in the history
  17. sopgpy decrypt: handle --verify-with

    This should enable tests of signature verification concurrent with
    decryption.
    
    We do this by refactoring out the signature verification and relying
    on PGPY to know how to verify an "inline" message.
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    0fbb2aa View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    65fe736 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    03c9eae View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    a1fd82f View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    60a046e View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    e136dd7 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    99b839b View commit details
    Browse the repository at this point in the history
  24. Bump sopgpy version to 0.2.0

    there have been a bunch of changes (including implementations of previously-missing options)
    This just acknowledges those changes.
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    a6eb7db View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    b5d9886 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    112f8f5 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    40aa017 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    6da28fc View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    a727188 View commit details
    Browse the repository at this point in the history
  30. sopgpy: create wrapper that permits a closure to do operations with a…

    … locked secret key
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    28fc92f View commit details
    Browse the repository at this point in the history
  31. sopgpy: add sop sign --micalg-out

    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    6678af8 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    6210476 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    faf8f4e View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    14d94b7 View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    323b48f View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    b7c3192 View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    114321b View commit details
    Browse the repository at this point in the history
  38. sopgpy: move to PGPy 0.6.0 (sigsubj changes)

    sigsubj objects have an "issues" bitfield, which follows
    the "Anna Karenina principle" instead of "verified"
    boolean.
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    8272870 View commit details
    Browse the repository at this point in the history
  39. sopgpy: move to PGPy 0.6.0 (from_blob() behavior changes)

    as of 0.6.0, from_blob() methods will return non-functioning objects
    rather than raising an error directly.
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    34a35b8 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    be04b27 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    70601fc View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    a2a0621 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    02bd731 View commit details
    Browse the repository at this point in the history
  44. sopgpy: drop trailing whitespace

    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    4127e47 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    c3090f9 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    8d071c8 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    d21c5de View commit details
    Browse the repository at this point in the history
  48. Add PGPSignatures object, representing bundled detached signatures

    a PGPMessage object can contain more than one signature.  Detached signatures should
    also be able to handle having more than one signature.
    
    https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-09.html#name-detached-signatures says:
    
    > These detached signatures are simply one or more Signature packets
    > stored separately from the data for which they are a signature.
    
    A PGPSignatures object makes the most sense to represent such a thing.
    
    Closes: SecurityInnovation#197
    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    e0c2ba8 View commit details
    Browse the repository at this point in the history
  49. sopgpy: clean up type annotations

    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    f087339 View commit details
    Browse the repository at this point in the history
  50. Configuration menu
    Copy the full SHA
    37a741b View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    cbe16c5 View commit details
    Browse the repository at this point in the history
  52. PEP-8 whitespace cleanup

    dkg committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    0aa4d68 View commit details
    Browse the repository at this point in the history