deimos.openssl.ecdsa

\file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions \author Written by Nils Larsch for the OpenSSL project

Public Imports

deimos.openssl.opensslconf
public import deimos.openssl.opensslconf;
Undocumented in source.
deimos.openssl.ec
public import deimos.openssl.ec;
Undocumented in source.
deimos.openssl.ossl_typ
public import deimos.openssl.ossl_typ;
Undocumented in source.
deimos.openssl.bn
public import deimos.openssl.bn;
Undocumented in source.

Members

Aliases

ECDSA_SIG
alias ECDSA_SIG = ECDSA_SIG_st
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Functions

ECDSA_OpenSSL
const(ECDSA_METHOD)* ECDSA_OpenSSL()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_SIG_free
void ECDSA_SIG_free(ECDSA_SIG* sig)

frees a ECDSA_SIG structure \param sig pointer to the ECDSA_SIG structure

ECDSA_SIG_get0
void ECDSA_SIG_get0(ECDSA_SIG* sig, BIGNUM** pr, BIGNUM** ps)

Accessor for r and s fields of ECDSA_SIG \param sig pointer to ECDSA_SIG pointer \param pr pointer to BIGNUM pointer for r (may be NULL) \param ps pointer to BIGNUM pointer for s (may be NULL)

ECDSA_SIG_new
ECDSA_SIG* ECDSA_SIG_new()

Allocates and initialize a ECDSA_SIG structure \return pointer to a ECDSA_SIG structure or NULL if an error occurred

ECDSA_SIG_set0
int ECDSA_SIG_set0(ECDSA_SIG* sig, BIGNUM* r, BIGNUM* s)

Setter for r and s fields of ECDSA_SIG \param sig pointer to ECDSA_SIG pointer \param r pointer to BIGNUM for r (may be NULL) \param s pointer to BIGNUM for s (may be NULL)

ECDSA_do_sign
ECDSA_SIG* ECDSA_do_sign(const(ubyte)* dgst, int dgst_len, EC_KEY* eckey)

Computes the ECDSA signature of the given hash value using the supplied private key and returns the created signature. \param dgst pointer to the hash value \param dgst_len length of the hash value \param eckey EC_KEY object containing a private EC key \return pointer to a ECDSA_SIG structure or NULL if an error occurred

ECDSA_do_sign_ex
ECDSA_SIG* ECDSA_do_sign_ex(const(ubyte)* dgst, int dgstlen, const(BIGNUM)* kinv, const(BIGNUM)* rp, EC_KEY* eckey)

Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory). \param dgst pointer to the hash value to sign \param dgstlen length of the hash value \param kinv BIGNUM with a pre-computed inverse k (optional) \param rp BIGNUM with a pre-computed rp value (optioanl), see ECDSA_sign_setup \param eckey EC_KEY object containing a private EC key \return pointer to a ECDSA_SIG structure or NULL if an error occurred

ECDSA_do_verify
int ECDSA_do_verify(const(ubyte)* dgst, int dgst_len, const(ECDSA_SIG)* sig, EC_KEY* eckey)

Verifies that the supplied signature is a valid ECDSA signature of the supplied hash value using the supplied public key. \param dgst pointer to the hash value \param dgst_len length of the hash value \param sig ECDSA_SIG structure \param eckey EC_KEY object containing a public EC key \return 1 if the signature is valid, 0 if the signature is invalid and -1 on error

ECDSA_get_default_method
const(ECDSA_METHOD)* ECDSA_get_default_method()

Returns the default ECDSA method \return pointer to ECDSA_METHOD structure containing the default method

ECDSA_get_ex_data
void* ECDSA_get_ex_data(EC_KEY* d, int idx)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_get_ex_new_index
int ECDSA_get_ex_new_index(c_long argl, void* argp, CRYPTO_EX_new* new_func, CRYPTO_EX_dup* dup_func, CRYPTO_EX_free* free_func)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_set_default_method
void ECDSA_set_default_method(const(ECDSA_METHOD)* meth)

Sets the default ECDSA method \param meth new default ECDSA_METHOD

ECDSA_set_ex_data
int ECDSA_set_ex_data(EC_KEY* d, int idx, void* arg)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_set_method
int ECDSA_set_method(EC_KEY* eckey, const(ECDSA_METHOD)* meth)

Sets method to be used for the ECDSA operations \param eckey EC_KEY object \param meth new method \return 1 on success and 0 otherwise

ECDSA_sign
int ECDSA_sign(int type, const(ubyte)* dgst, int dgstlen, ubyte* sig, uint* siglen, EC_KEY* eckey)

Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory). \param type this parameter is ignored \param dgst pointer to the hash value to sign \param dgstlen length of the hash value \param sig memory for the DER encoded created signature \param siglen pointer to the length of the returned signature \param eckey EC_KEY object containing a private EC key \return 1 on success and 0 otherwise

ECDSA_sign_ex
int ECDSA_sign_ex(int type, const(ubyte)* dgst, int dgstlen, ubyte* sig, uint* siglen, const(BIGNUM)* kinv, const(BIGNUM)* rp, EC_KEY* eckey)

Computes ECDSA signature of a given hash value using the supplied private key (note: sig must point to ECDSA_size(eckey) bytes of memory). \param type this parameter is ignored \param dgst pointer to the hash value to sign \param dgstlen length of the hash value \param sig buffer to hold the DER encoded signature \param siglen pointer to the length of the returned signature \param kinv BIGNUM with a pre-computed inverse k (optional) \param rp BIGNUM with a pre-computed rp value (optioanl), see ECDSA_sign_setup \param eckey EC_KEY object containing a private EC key \return 1 on success and 0 otherwise

ECDSA_sign_setup
int ECDSA_sign_setup(EC_KEY* eckey, BN_CTX* ctx, BIGNUM** kinv, BIGNUM** rp)

Precompute parts of the signing operation \param eckey EC_KEY object containing a private EC key \param ctx BN_CTX object (optional) \param kinv BIGNUM pointer for the inverse of k \param rp BIGNUM pointer for x coordinate of k* generator \return 1 on success and 0 otherwise

ECDSA_size
int ECDSA_size(const(EC_KEY)* eckey)

Returns the maximum length of the DER encoded signature \param eckey EC_KEY object \return numbers of bytes required for the DER encoded signature

ECDSA_verify
int ECDSA_verify(int type, const(ubyte)* dgst, int dgstlen, const(ubyte)* sig, int siglen, EC_KEY* eckey)

Verifies that the given signature is valid ECDSA signature of the supplied hash value using the specified public key. \param type this parameter is ignored \param dgst pointer to the hash value \param dgstlen length of the hash value \param sig pointer to the DER encoded signature \param siglen length of the DER encoded signature \param eckey EC_KEY object containing a public EC key \return 1 if the signature is valid, 0 if the signature is invalid and -1 on error

ERR_load_ECDSA_strings
void ERR_load_ECDSA_strings()
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
d2i_ECDSA_SIG
ECDSA_SIG* d2i_ECDSA_SIG(ECDSA_SIG** sig, const(ubyte)** pp, c_long len)

Decodes a DER encoded ECDSA signature (note: this function changes* pp (*pp += len)). \param sig pointer to ECDSA_SIG pointer (may be NULL) \param pp memory buffer with the DER encoded signature \param len length of the buffer \return pointer to the decoded ECDSA_SIG structure (or NULL)

i2d_ECDSA_SIG
int i2d_ECDSA_SIG(const(ECDSA_SIG)* sig, ubyte** pp)

DER encode content of ECDSA_SIG object (note: this function modifies* pp (*pp += length of the DER encoded signature)). \param sig pointer to the ECDSA_SIG object \param pp pointer to a ubyte pointer for the output or NULL \return the length of the DER encoded ECDSA_SIG object or 0

Manifest constants

ECDSA_F_ECDSA_CHECK
enum ECDSA_F_ECDSA_CHECK;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_F_ECDSA_DATA_NEW_METHOD
enum ECDSA_F_ECDSA_DATA_NEW_METHOD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_F_ECDSA_DO_SIGN
enum ECDSA_F_ECDSA_DO_SIGN;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_F_ECDSA_DO_VERIFY
enum ECDSA_F_ECDSA_DO_VERIFY;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_F_ECDSA_SIGN_SETUP
enum ECDSA_F_ECDSA_SIGN_SETUP;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_BAD_SIGNATURE
enum ECDSA_R_BAD_SIGNATURE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE
enum ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_ERR_EC_LIB
enum ECDSA_R_ERR_EC_LIB;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_MISSING_PARAMETERS
enum ECDSA_R_MISSING_PARAMETERS;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_NEED_NEW_SETUP_VALUES
enum ECDSA_R_NEED_NEW_SETUP_VALUES;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_NON_FIPS_METHOD
enum ECDSA_R_NON_FIPS_METHOD;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED
enum ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
ECDSA_R_SIGNATURE_MALLOC_FAILED
enum ECDSA_R_SIGNATURE_MALLOC_FAILED;
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Structs

ECDSA_SIG_st
struct ECDSA_SIG_st
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Meta