-
Notifications
You must be signed in to change notification settings - Fork 98
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
Add IBM specific mechanisms #669
Conversation
@ueno can one of the maintainers please approve the check workflows? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have any documentation available for those mechanisms?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks nice overall except the compatibility break reported by Daiki. That needs to be addressed.
Also please address the issues reported by CI (ignore Fuzzing test).
You can find the documentation for the mechanisms here. |
I pumped the RPC protocol version to 2 and included the requested changes by @ZoltanFridrich and I hope I fixed all the Ci bugs. It looks like they were originating in the meson build failing. |
This adds support for the following IBM specific attributes: - CKA_IBM_OPAQUE_REENC - CKA_IBM_OPAQUE_OLD - CKA_IBM_DILITHIUM_MODE - CKA_IBM_CCA_AES_KEY_MODE
This adds support for the CKM_IBM_ECDSA_OTHER IBM specific mechanism.
This adds support to the rpc_C_DeriveKey to send the mechanism parameter back to the client after the actual call. This is necessary to allow size queries for potential output fields in the parameter. In this case the call itself will fail but instead of writing an error response the client has to get the updated parameter. For this the server will send the error code along with the parameter back to the client that then can allocate space for the output fields in the parameter and do the call again. Since this will lead to a backwards compatability problem within the RPC protocol the version is bumped.
The documentation requested by @kalvdans is added as a comment and code should be ready for another CI run. |
@fcallies check the cppcheck failure. It seems to be complaining about uninitialized variables. |
This should be a false positive as these values are set using the |
Indeed that might be the cause because I dont think the cppcheck understands that all of the |
I split it again in different |
Please restart the CI tests. |
seems like it wasnt the issue afterall. Maybe just initialize the struct with initializer like |
This adds support for the CKM_IBM_BTC_DERIVE IBM specific mechanism. Additionally this exploits the rpc_C_DeriveKey rework.
This adds support for the CKM_IBM_KYBER IBM specific mechanism. Additionally this exploits the rpc_C_DeriveKey rework.
I initialized params and on my local machine the cppcheck succeeds. Ready for another CI run. |
Lgtm, is there anything else to be done by me? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This series adds support for three IBM specific mechanisms and four IBM specific attributes.
Additionally for the rpc_C_DeriveKey function support for size queries for potential output fields of the mechanisms parameters is implemented.