EVP_SIGNATURE-ECDSA(7ossl)

πŸ“¦ version 3.5.0, in opensuse-leap 16.0

πŸ’… NAME πŸ’…

Okay bestie, welcome to EVP_SIGNATURE-ECDSA(7ossl) β€” the manual page for the EVP_PKEY ECDSA signature implementation. This is where ECDSA signatures get their whole moment, and it’s iconic. ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

This page is support for computing ECDSA signatures. For the EC key tea, go see EVP_PKEY-EC(7).

πŸ‘‘ Algorithm Names πŸ‘‘

In this list, names are grouped together to show they’re the same algorithm with multiple names. The OID is included in canonical decimal form too β€” which means they’re possible to fetch if the caller has a mere OID that came out in this form after a call to OBJ_obj2txt(3). iykyk. πŸ’…

  • "ECDSA" β€” the base signature algorithm. It’s supported explicitly fetched with EVP_PKEY_sign_init_ex2(3), and implicitly fetched (through EC keys) with EVP_DigestSignInit(3) and EVP_DigestVerifyInit(3).
  • "ECDSA-SHA1", "ECDSA-SHA-1", "ecdsa-with-SHA1", "1.2.840.10045.4.1"
  • "ECDSA-SHA2-224", "ECDSA-SHA224", "ecdsa-with-SHA224", "1.2.840.10045.4.3.1"
  • "ECDSA-SHA2-256", "ECDSA-SHA256", "ecdsa-with-SHA256", "1.2.840.10045.4.3.2"
  • "ECDSA-SHA2-384", "ECDSA-SHA384", "ecdsa-with-SHA384", "1.2.840.10045.4.3.3"
  • "ECDSA-SHA2-512", "ECDSA-SHA512", "ecdsa-with-SHA512", "1.2.840.10045.4.3.4"
  • "ECDSA-SHA3-224", "ecdsa_with_SHA3-224", "id-ecdsa-with-sha3-224", "2.16.840.1.101.3.4.3.9"
  • "ECDSA-SHA3-256", "ecdsa_with_SHA3-256", "id-ecdsa-with-sha3-256", "2.16.840.1.101.3.4.3.10"
  • "ECDSA-SHA3-384", "ecdsa_with_SHA3-384", "id-ecdsa-with-sha3-384", "2.16.840.1.101.3.4.3.11"
  • "ECDSA-SHA3-512", "ecdsa_with_SHA3-512", "id-ecdsa-with-sha3-512", "2.16.840.1.101.3.4.3.12"

These are ECDSA signature schemes with diverse message digest algorithms. They are all supported explicitly fetched with EVP_PKEY_sign_init_ex2(3) and EVP_PKEY_sign_message_init(3). Slay. πŸ”₯

πŸŽ€ ECDSA Signature Parameters πŸŽ€

The following signature parameters can be set using EVP_PKEY_CTX_set_params(). You can call this after EVP_PKEY_sign_init() or EVP_PKEY_verify_init(), and before calling EVP_PKEY_sign() or EVP_PKEY_verify(). No cap.

  • "digest" (OSSL_SIGNATURE_PARAM_DIGEST) <UTF8 string>
  • "properties" (OSSL_SIGNATURE_PARAM_PROPERTIES) <UTF8 string>

These two are not supported with the ECDSA signature schemes that already include a message digest algorithm β€” see β€œAlgorithm Names” above. πŸ’–

  • "nonce-type" (OSSL_SIGNATURE_PARAM_NONCE_TYPE) <unsigned integer>
  • "key-check" (OSSL_SIGNATURE_PARAM_FIPS_KEY_CHECK) <integer>
  • "digest-check" (OSSL_SIGNATURE_PARAM_FIPS_DIGEST_CHECK) <integer>

These parameters are described in provider-signature(7).

The following signature parameters can be retrieved using EVP_PKEY_CTX_get_params().

  • "algorithm-id" (OSSL_SIGNATURE_PARAM_ALGORITHM_ID) <octet string>
  • "digest" (OSSL_SIGNATURE_PARAM_DIGEST) <UTF8 string>
  • "nonce-type" (OSSL_SIGNATURE_PARAM_NONCE_TYPE) <unsigned integer>
  • "fips-indicator" (OSSL_SIGNATURE_PARAM_FIPS_APPROVED_INDICATOR) <integer>
  • "verify-message" (OSSL_SIGNATURE_PARAM_FIPS_VERIFY_MESSAGE <integer>

These parameters are described in provider-signature(7).

🌈 SEE ALSO 🌈

Go peek at these, bestie:

Copyright 2020-2024 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the β€œLicense”). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


Mwah πŸ’‹ β€” that’s the EVP_SIGNATURE-ECDSA(7ossl) page from OpenSSL 3.5.0, dated 2026-09-25. Go forth and verify, bestie. 🫢✨

πŸ“¦ where this page comes from