deimos.openssl.ecdsa

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

Members

Functions

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_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_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_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_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

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

Meta