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

Which sample programs to keep in 1.0/4.0 #9904

Open
gilles-peskine-arm opened this issue Jan 14, 2025 · 1 comment
Open

Which sample programs to keep in 1.0/4.0 #9904

gilles-peskine-arm opened this issue Jan 14, 2025 · 1 comment
Assignees
Labels
size-s Estimated task size: small (~2d)

Comments

@gilles-peskine-arm
Copy link
Contributor

gilles-peskine-arm commented Jan 14, 2025

For each program under /programs in Mbed TLS 3.6, should we remove, keep, adapt or rewrite for TF-PSA-Crypto 1.0 or Mbed TLS 4.0?

This is an investigation task. The expected outcome is a list/table covering every program, with the desired outcome for each program and a justification (which I expect will usually be just a short sentence fragment). The outcomes I can think of:

  • Keep as is, e.g. x509/* — no work to be scheduled
  • Remove (because it is not really useful for anything except demonstrating the legacy crypto API), e.g. crypt_and_hashwe'll remove those in batch
  • Replace (because it has a useful purpose, but the current implementation relies heavily on the legacy crypto API), e.g. cipher_aead_demo (for which the rewriting has already been done) — we'll remove those and file issues to replace them after 1.0/4.0
  • Keep, but will need minor adjustments due to rare use of APIs that are now private, e.g. programs/fuzz/fuzz_*key — file an issue to do the minor adjustments, which will be considered for 1.0/4.0
  • Keep, but will need major adjustments due to major use of APIs that are now private, e.g. benchmark — file an issue for the rewrite, which will happen after 1.0/4.0.

Definition of done for this task: the list/table, and file issues where we identify that work needs to be done.

Reasons to keep a program:

  • If it's useful as a sample of API usage.
  • If it's useful as a test.
  • If its functionality is useful, e.g. programs/x509/* are meant to be usable to run a simple CA and work with a simple CA, and some of programs/pk/* are complementary with that.
@gilles-peskine-arm
Copy link
Contributor Author

For pk programs, it would make sense to also evaluate whether those programs should stay in Mbed TLS or move to TF-PSA-Crypto. PK is a TF-PSA-Crypto API, but if the main usefulness of the programs is to create/parse keys used by the X.509 programs, then it could make sense to keep the programs in mbedtls.

@davidhorstmann-arm davidhorstmann-arm self-assigned this Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size-s Estimated task size: small (~2d)
Projects
Status: DIs for 1.0 MVP
Development

No branches or pull requests

2 participants