Hi, The documentation of ecdsa_set_pub_key() is the following: /* * Set the public key given the raw uncompressed key data from an X509 * certificate. The key data contain the concatenated X and Y coordinates of * the public key. */ If you interpret this literally it would mean 64 bytes buffer for p256 with two 32 byte blobs for x and y. With such buffer the function fails with -EINVAL, which is obvious from the code that does checks on the contents. Instead of responding to this, can you please fix the documentation bug? There was also badly documented stuff in akcipher that has been unreacted so far so putting also that one here: https://lore.kernel.org/keyrings/D1HCVOZ1IN7S.1SUZ75QRE8QUZ@xxxxxxxxxx/ BR, Jarkko