The following table shows the APIs, that if called, execute the public key validation for all the third-party cryptographic libraries used in the nRF5 SDK, as well as which type of check is executed according to the SEC1 standard.
| Library | API that checks public keys | Full check (SEC1 3.2.2) | Partial check (SEC1 3.2.3) |
|---|---|---|---|
| nrf_oberon | occ_ecdh_p256_common_secret | No | Yes |
| mbed TLS | mbedtls_ecdh_compute_shared | No | Yes |
| µECC | uECC_valid_public_key | No | Yes |
| nrf_cc310 |
CRYS_ECPKI_BuildPublKey CRYS_ECPKI_BuildPublKeyPartlyCheck |
No | Yes |
| nrf_cc310 | CRYS_ECPKI_BuildPublKeyFullCheck | Yes | No |
Both methods of validating the public key are sufficient to ensure that the vulnerability is mitigated.