| bb3b0c0b | 16-Oct-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
fix(cert-create): fix key loading logic
When key_load() attempts to load the key from a file and it fails to open this file, the 'err_code' output argument is set to 'KEY_ERR_OPEN' error code. Howev
fix(cert-create): fix key loading logic
When key_load() attempts to load the key from a file and it fails to open this file, the 'err_code' output argument is set to 'KEY_ERR_OPEN' error code. However, it is incorrectly overwritten later on with 'KEY_ERR_NONE' or 'KEY_ERR_LOAD'.
The latter case messes up with the key creation scenario. The 'KEY_ERR_LOAD' error leads the tool to exit, when it should attempt to create the said key file if invoked with the --new-keys/-n option.
Note that, to complicate matters further, which of 'KEY_ERR_OPEN' or 'KEY_ERR_NONE' values is returned by key_load() depends on the version of OpenSSL in use:
- If using v3+, KEY_ERROR_LOAD is returned.
- If using <v3, KEY_ERROR_NONE is returned as a result of the key pair container being initialized by key_new().
This patch fixes this bug and also takes the opportunity to refactor key_load() implementation to (hopefully) make it more straight-forward and easier to reason about.
Fixes: 616b3ce27d9a "feat(cert-create): add pkcs11 engine support" Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Reported-by: Wenchen Tan <xtaens@qq.com> Change-Id: Ia78ff442e04c5ff98e6ced8d26becbd817a8ccb7
show more ...
|
| 6a415a50 | 09-Sep-2019 |
Justin Chadwell <justin.chadwell@arm.com> |
Remove RSA PKCS#1 v1.5 support from cert_tool
Support for PKCS#1 v1.5 was deprecated in SHA 1001202 and fully removed in SHA fe199e3, however, cert_tool is still able to generate certificates in tha
Remove RSA PKCS#1 v1.5 support from cert_tool
Support for PKCS#1 v1.5 was deprecated in SHA 1001202 and fully removed in SHA fe199e3, however, cert_tool is still able to generate certificates in that form. This patch fully removes the ability for cert_tool to generate these certificates.
Additionally, this patch also fixes a bug where the issuing certificate was a RSA and the issued certificate was EcDSA. In this case, the issued certificate would be signed using PKCS#1 v1.5 instead of RSAPSS per PKCS#1 v2.1, preventing TF-A from verifying the image signatures. Now that PKCS#1 v1.5 support is removed, all certificates that are signed with RSA now use the more modern padding scheme.
Change-Id: Id87d7d915be594a1876a73080528d968e65c4e9a Signed-off-by: Justin Chadwell <justin.chadwell@arm.com>
show more ...
|