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

Remove the dynamic SE interface in 4.0 #8151

Open
daverodgman opened this issue Sep 1, 2023 · 6 comments
Open

Remove the dynamic SE interface in 4.0 #8151

daverodgman opened this issue Sep 1, 2023 · 6 comments
Assignees
Labels
api-break This issue/PR breaks the API and must wait for a new major version component-platform Portability layer and build scripts enhancement size-s Estimated task size: small (~2d)

Comments

@daverodgman
Copy link
Contributor

daverodgman commented Sep 1, 2023

Remove the dynamic SE interface (supplanted by opaque drivers). MBEDTLS_PSA_CRYPTO_SE_C must be removed from mbedtls_config.h. All code related to this should be removed, except mbedtls_psa_register_se_key() which first needs to change to work with new-style drivers.

Mailing list thread: https://lists.trustedfirmware.org/archives/list/mbed-tls@lists.trustedfirmware.org/thread/7AM6WGPCIEHOZQ5G3M5LPZHNG5CSOPAP/

@daverodgman daverodgman changed the title Remove the SE interface Remove the SE interface in 4.0 Sep 1, 2023
@daverodgman daverodgman added enhancement component-platform Portability layer and build scripts api-break This issue/PR breaks the API and must wait for a new major version size-m Estimated task size: medium (~1w) labels Oct 11, 2023
@mpg
Copy link
Contributor

mpg commented Oct 27, 2023

Note: a good portion of docs/architecture/testing/driver-interface-test-strategy.md can be removed as well.

@mpg
Copy link
Contributor

mpg commented Oct 27, 2023

Note: I think this will close #3856 as well. Actually, when addressing this, we should search for "SE", MBEDTLS_PSA_CRYPTO_SE_C, etc. in open issues and close those that become irrelevant.

@gilles-peskine-arm
Copy link
Contributor

close those that become irrelevant.

Agreed that we should do that. But double check that the issues don't also apply to the new driver interface, or if they do that there is an issue for that.

I tend to call MBEDTLS_PSA_CRYPTO_SE_C the “old driver interface” or “dynamic secure element driver interface” or “dynamic SE drivers”.

@gilles-peskine-arm gilles-peskine-arm changed the title Remove the SE interface in 4.0 Remove the dynamic SE interface in 4.0 Nov 28, 2023
@gilles-peskine-arm gilles-peskine-arm removed the size-m Estimated task size: medium (~1w) label May 29, 2024
@gilles-peskine-arm
Copy link
Contributor

Note that at least mbedtls_psa_register_se_key should stay but be adapted to the new kind of opaque drivers.

@mimok
Copy link
Contributor

mimok commented Jul 24, 2024

I'm still using the "old" dynamic SE interface and i'm wondering whether the new PSA driver interface is actually in production or not before switching. I mean the driver interface cannot be fully defined through JSON files, you still need to manually modify the jinja templates. Is this really the way it is expected to work ?

@gilles-peskine-arm
Copy link
Contributor

The C part is ready for production and actually used in production by several early adopters. Unfortunately, you do need to edit psa_crypto_driver_wrappers* manually at the moment. The way this is supposed to work is that you would provide a JSON file, but the script to generate the wrappers from JSON is not ready for production yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-break This issue/PR breaks the API and must wait for a new major version component-platform Portability layer and build scripts enhancement size-s Estimated task size: small (~2d)
Projects
Status: Mbed TLS 4.0 SHOULD
Status: Implementation needed
Status: 4.0 - Removals and deprecations
Development

No branches or pull requests

5 participants