mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-29 18:27:29 +02:00
Add missing ECDSA_SIG getter/settter for libssh2.
This commit is contained in:
31
src/ssl.c
31
src/ssl.c
@ -37063,6 +37063,37 @@ WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_SIG_new(void)
|
||||
return sig;
|
||||
}
|
||||
|
||||
void wolfSSL_ECDSA_SIG_get0(const WOLFSSL_ECDSA_SIG* sig,
|
||||
const WOLFSSL_BIGNUM** r, const WOLFSSL_BIGNUM** s)
|
||||
{
|
||||
if (sig == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (r != NULL) {
|
||||
*r = sig->r;
|
||||
}
|
||||
if (s != NULL) {
|
||||
*s = sig->s;
|
||||
}
|
||||
}
|
||||
|
||||
int wolfSSL_ECDSA_SIG_set0(WOLFSSL_ECDSA_SIG* sig, WOLFSSL_BIGNUM* r,
|
||||
WOLFSSL_BIGNUM* s)
|
||||
{
|
||||
if (sig == NULL || r == NULL || s == NULL) {
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
|
||||
wolfSSL_BN_free(sig->r);
|
||||
wolfSSL_BN_free(sig->s);
|
||||
|
||||
sig->r = r;
|
||||
sig->s = s;
|
||||
|
||||
return WOLFSSL_SUCCESS;
|
||||
}
|
||||
|
||||
/* return signature structure on success, NULL otherwise */
|
||||
WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_do_sign(const unsigned char *d, int dlen,
|
||||
WOLFSSL_EC_KEY *key)
|
||||
|
@ -46,6 +46,10 @@ struct WOLFSSL_ECDSA_SIG {
|
||||
|
||||
WOLFSSL_API void wolfSSL_ECDSA_SIG_free(WOLFSSL_ECDSA_SIG *sig);
|
||||
WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_SIG_new(void);
|
||||
WOLFSSL_API void wolfSSL_ECDSA_SIG_get0(const WOLFSSL_ECDSA_SIG*,
|
||||
const WOLFSSL_BIGNUM**, const WOLFSSL_BIGNUM**);
|
||||
WOLFSSL_API int wolfSSL_ECDSA_SIG_set0(WOLFSSL_ECDSA_SIG*, WOLFSSL_BIGNUM*,
|
||||
WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_do_sign(const unsigned char *dgst,
|
||||
int dgst_len,
|
||||
WOLFSSL_EC_KEY *eckey);
|
||||
@ -62,6 +66,8 @@ WOLFSSL_API int wolfSSL_i2d_ECDSA_SIG(const WOLFSSL_ECDSA_SIG *sig,
|
||||
|
||||
#define ECDSA_SIG_free wolfSSL_ECDSA_SIG_free
|
||||
#define ECDSA_SIG_new wolfSSL_ECDSA_SIG_new
|
||||
#define ECDSA_SIG_get0 wolfSSL_ECDSA_SIG_get0
|
||||
#define ECDSA_SIG_set0 wolfSSL_ECDSA_SIG_set0
|
||||
#define ECDSA_do_sign wolfSSL_ECDSA_do_sign
|
||||
#define ECDSA_do_verify wolfSSL_ECDSA_do_verify
|
||||
#define d2i_ECDSA_SIG wolfSSL_d2i_ECDSA_SIG
|
||||
|
Reference in New Issue
Block a user