versadac
1
versadac - Scalable Recorder Firmware
Main Page
Classes
Files
File List
File Members
core
encryption
src
win32
OpenSSL-Win32
include
openssl
ecdsa.h
1
/* crypto/ecdsa/ecdsa.h */
6
/* ====================================================================
7
* Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
*
13
* 1. Redistributions of source code must retain the above copyright
14
* notice, this list of conditions and the following disclaimer.
15
*
16
* 2. Redistributions in binary form must reproduce the above copyright
17
* notice, this list of conditions and the following disclaimer in
18
* the documentation and/or other materials provided with the
19
* distribution.
20
*
21
* 3. All advertising materials mentioning features or use of this
22
* software must display the following acknowledgment:
23
* "This product includes software developed by the OpenSSL Project
24
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
25
*
26
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
27
* endorse or promote products derived from this software without
28
* prior written permission. For written permission, please contact
29
* licensing@OpenSSL.org.
30
*
31
* 5. Products derived from this software may not be called "OpenSSL"
32
* nor may "OpenSSL" appear in their names without prior written
33
* permission of the OpenSSL Project.
34
*
35
* 6. Redistributions of any form whatsoever must retain the following
36
* acknowledgment:
37
* "This product includes software developed by the OpenSSL Project
38
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
39
*
40
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
41
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
43
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
44
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
46
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
47
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
49
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
50
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
51
* OF THE POSSIBILITY OF SUCH DAMAGE.
52
* ====================================================================
53
*
54
* This product includes cryptographic software written by Eric Young
55
* (eay@cryptsoft.com). This product includes software written by Tim
56
* Hudson (tjh@cryptsoft.com).
57
*
58
*/
59
#ifndef HEADER_ECDSA_H
60
#define HEADER_ECDSA_H
61
62
#include <openssl/opensslconf.h>
63
64
#ifdef OPENSSL_NO_ECDSA
65
#error ECDSA is disabled.
66
#endif
67
68
#include <openssl/ec.h>
69
#include <openssl/ossl_typ.h>
70
#ifndef OPENSSL_NO_DEPRECATED
71
#include <openssl/bn.h>
72
#endif
73
74
#ifdef __cplusplus
75
extern
"C"
{
76
#endif
77
78
typedef
struct
ECDSA_SIG_st
79
{
80
BIGNUM
*r;
81
BIGNUM
*s;
82
}
ECDSA_SIG
;
83
87
ECDSA_SIG
*ECDSA_SIG_new(
void
);
88
92
void
ECDSA_SIG_free(
ECDSA_SIG
*sig);
93
100
int
i2d_ECDSA_SIG(
const
ECDSA_SIG
*sig,
unsigned
char
**pp);
101
109
ECDSA_SIG
*d2i_ECDSA_SIG(
ECDSA_SIG
**sig,
const
unsigned
char
**pp,
long
len);
110
118
ECDSA_SIG
*ECDSA_do_sign(
const
unsigned
char
*dgst,
int
dgst_len,
EC_KEY
*eckey);
119
130
ECDSA_SIG
*ECDSA_do_sign_ex(
const
unsigned
char
*dgst,
int
dgstlen,
131
const
BIGNUM
*kinv,
const
BIGNUM
*rp,
EC_KEY
*eckey);
132
142
int
ECDSA_do_verify(
const
unsigned
char
*dgst,
int
dgst_len,
143
const
ECDSA_SIG
*sig,
EC_KEY
* eckey);
144
145
const
ECDSA_METHOD
*ECDSA_OpenSSL(
void
);
146
150
void
ECDSA_set_default_method(
const
ECDSA_METHOD
*meth);
151
155
const
ECDSA_METHOD
*ECDSA_get_default_method(
void
);
156
162
int
ECDSA_set_method(
EC_KEY
*eckey,
const
ECDSA_METHOD
*meth);
163
168
int
ECDSA_size(
const
EC_KEY
*eckey);
169
177
int
ECDSA_sign_setup(
EC_KEY
*eckey,
BN_CTX
*ctx,
BIGNUM
**kinv,
178
BIGNUM
**rp);
179
190
int
ECDSA_sign(
int
type,
const
unsigned
char
*dgst,
int
dgstlen,
191
unsigned
char
*sig,
unsigned
int
*siglen,
EC_KEY
*eckey);
192
193
207
int
ECDSA_sign_ex(
int
type,
const
unsigned
char
*dgst,
int
dgstlen,
208
unsigned
char
*sig,
unsigned
int
*siglen,
const
BIGNUM
*kinv,
209
const
BIGNUM
*rp,
EC_KEY
*eckey);
210
222
int
ECDSA_verify(
int
type,
const
unsigned
char
*dgst,
int
dgstlen,
223
const
unsigned
char
*sig,
int
siglen,
EC_KEY
*eckey);
224
225
/* the standard ex_data functions */
226
int
ECDSA_get_ex_new_index(
long
argl,
void
*argp, CRYPTO_EX_new
227
*new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
228
int
ECDSA_set_ex_data(
EC_KEY
*d,
int
idx,
void
*arg);
229
void
*ECDSA_get_ex_data(
EC_KEY
*d,
int
idx);
230
231
232
/* BEGIN ERROR CODES */
233
/* The following lines are auto generated by the script mkerr.pl. Any changes
234
* made after this point may be overwritten when the script is next run.
235
*/
236
void
ERR_load_ECDSA_strings(
void
);
237
238
/* Error codes for the ECDSA functions. */
239
240
/* Function codes. */
241
#define ECDSA_F_ECDSA_CHECK 104
242
#define ECDSA_F_ECDSA_DATA_NEW_METHOD 100
243
#define ECDSA_F_ECDSA_DO_SIGN 101
244
#define ECDSA_F_ECDSA_DO_VERIFY 102
245
#define ECDSA_F_ECDSA_SIGN_SETUP 103
246
247
/* Reason codes. */
248
#define ECDSA_R_BAD_SIGNATURE 100
249
#define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 101
250
#define ECDSA_R_ERR_EC_LIB 102
251
#define ECDSA_R_MISSING_PARAMETERS 103
252
#define ECDSA_R_NEED_NEW_SETUP_VALUES 106
253
#define ECDSA_R_NON_FIPS_METHOD 107
254
#define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 104
255
#define ECDSA_R_SIGNATURE_MALLOC_FAILED 105
256
257
#ifdef __cplusplus
258
}
259
#endif
260
#endif
ecdsa_method
Definition:
ecs_locl.h:68
bignum_st
Definition:
bn.h:318
ec_key_st
Definition:
ec_lcl.h:232
ECDSA_SIG_st
Definition:
ecdsa.h:78
bignum_ctx
Definition:
bn_ctx.c:139
Generated on Wed Aug 19 2020 10:33:40 for versadac by
1.8.9.1