Go to the documentation of this file.
64 #include "../../internal.h"
65 #include "../bn/internal.h"
66 #include "../ec/internal.h"
73 const uint8_t *digest,
size_t digest_len) {
77 size_t num_bytes = (num_bits + 7) / 8;
78 if (digest_len > num_bytes) {
79 digest_len = num_bytes;
82 for (
size_t i = 0;
i < digest_len;
i++) {
83 out->bytes[
i] = digest[digest_len - 1 -
i];
87 if (8 * digest_len > num_bits) {
108 if (sig->
r == NULL || sig->
s == NULL) {
144 if (
r == NULL || s == NULL) {
158 if (
group == NULL || pub_key == NULL || sig == NULL) {
203 const uint8_t *digest,
size_t digest_len) {
293 const uint8_t *digest,
size_t digest_len,
const EC_KEY *eckey,
294 const uint8_t *nonce,
size_t nonce_len) {
317 "additional_data is too large for SHA-512");
334 if (sig != NULL || !
retry) {
#define EC_GROUP_get0_order
#define ec_get_x_coordinate_as_scalar
#define ec_scalar_from_montgomery
#define ec_bignum_to_scalar
#define ec_point_mul_scalar_base
#define ec_scalar_mul_montgomery
#define ec_scalar_to_montgomery_inv_vartime
#define OPENSSL_PUT_ERROR(library, reason)
#define ec_point_mul_scalar_public
const BIGNUM * ECDSA_SIG_get0_s(const ECDSA_SIG *sig)
void ECDSA_SIG_free(ECDSA_SIG *sig)
#define ec_cmp_x_coordinate
ECDSA_SIG * ecdsa_sign_with_nonce_for_known_answer_test(const uint8_t *digest, size_t digest_len, const EC_KEY *eckey, const uint8_t *nonce, size_t nonce_len)
#define EC_KEY_get0_group
static void * OPENSSL_memset(void *dst, int c, size_t n)
static ECDSA_SIG * ecdsa_sign_impl(const EC_GROUP *group, int *out_retry, const EC_SCALAR *priv_key, const EC_SCALAR *k, const uint8_t *digest, size_t digest_len)
void retry(grpc_end2end_test_config config)
const BIGNUM * ECDSA_SIG_get0_r(const ECDSA_SIG *sig)
int(* sign)(const uint8_t *digest, size_t digest_len, uint8_t *sig, unsigned int *sig_len, EC_KEY *eckey)
#define ERR_R_PASSED_NULL_PARAMETER
ECDSA_SIG * ECDSA_sign_with_nonce_and_leak_private_key_for_testing(const uint8_t *digest, size_t digest_len, const EC_KEY *eckey, const uint8_t *nonce, size_t nonce_len)
#define ec_scalar_to_montgomery
#define ECDSA_R_NOT_IMPLEMENTED
EC_WRAPPED_SCALAR * priv_key
ECDSA_METHOD * ecdsa_meth
int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
#define ERR_R_INTERNAL_ERROR
void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **out_r, const BIGNUM **out_s)
#define EC_KEY_get0_public_key
#define SHA512_DIGEST_LENGTH
#define ec_random_nonzero_scalar
int ECDSA_do_verify(const uint8_t *digest, size_t digest_len, const ECDSA_SIG *sig, const EC_KEY *eckey)
#define ec_scalar_inv0_montgomery
#define EC_R_INVALID_GROUP_ORDER
#define ec_scalar_from_bytes
ECDSA_SIG * ECDSA_SIG_new(void)
static void digest_to_scalar(const EC_GROUP *group, EC_SCALAR *out, const uint8_t *digest, size_t digest_len)
UniquePtr< SSL_SESSION > ret
ECDSA_SIG * ECDSA_do_sign(const uint8_t *digest, size_t digest_len, const EC_KEY *eckey)
#define ec_scalar_is_zero
#define ECDSA_R_MISSING_PARAMETERS
BN_ULONG words[EC_MAX_WORDS]
#define ECDSA_R_BAD_SIGNATURE
#define OPENSSL_STATIC_ASSERT(cond, msg)
#define bn_reduce_once_in_place
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:59:14