openssl_rsa_pss_verify 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/openssl_rsa_pss_verify/extconf.rb +0 -8
- data/lib/openssl_rsa_pss_verify/version.rb +1 -1
- metadata +1 -97
- data/vendor/openssl/include/openssl/aes.h +0 -147
- data/vendor/openssl/include/openssl/asn1.h +0 -1404
- data/vendor/openssl/include/openssl/asn1_mac.h +0 -578
- data/vendor/openssl/include/openssl/asn1t.h +0 -960
- data/vendor/openssl/include/openssl/bio.h +0 -847
- data/vendor/openssl/include/openssl/blowfish.h +0 -129
- data/vendor/openssl/include/openssl/bn.h +0 -891
- data/vendor/openssl/include/openssl/buffer.h +0 -119
- data/vendor/openssl/include/openssl/camellia.h +0 -130
- data/vendor/openssl/include/openssl/cast.h +0 -107
- data/vendor/openssl/include/openssl/cmac.h +0 -82
- data/vendor/openssl/include/openssl/cms.h +0 -501
- data/vendor/openssl/include/openssl/comp.h +0 -80
- data/vendor/openssl/include/openssl/conf.h +0 -263
- data/vendor/openssl/include/openssl/conf_api.h +0 -89
- data/vendor/openssl/include/openssl/crypto.h +0 -611
- data/vendor/openssl/include/openssl/des.h +0 -248
- data/vendor/openssl/include/openssl/des_old.h +0 -446
- data/vendor/openssl/include/openssl/dh.h +0 -280
- data/vendor/openssl/include/openssl/dsa.h +0 -327
- data/vendor/openssl/include/openssl/dso.h +0 -409
- data/vendor/openssl/include/openssl/dtls1.h +0 -287
- data/vendor/openssl/include/openssl/e_os2.h +0 -315
- data/vendor/openssl/include/openssl/ebcdic.h +0 -19
- data/vendor/openssl/include/openssl/ec.h +0 -1167
- data/vendor/openssl/include/openssl/ecdh.h +0 -125
- data/vendor/openssl/include/openssl/ecdsa.h +0 -260
- data/vendor/openssl/include/openssl/engine.h +0 -842
- data/vendor/openssl/include/openssl/err.h +0 -386
- data/vendor/openssl/include/openssl/evp.h +0 -1409
- data/vendor/openssl/include/openssl/hmac.h +0 -110
- data/vendor/openssl/include/openssl/idea.h +0 -103
- data/vendor/openssl/include/openssl/krb5_asn.h +0 -256
- data/vendor/openssl/include/openssl/kssl.h +0 -183
- data/vendor/openssl/include/openssl/lhash.h +0 -241
- data/vendor/openssl/include/openssl/md4.h +0 -120
- data/vendor/openssl/include/openssl/md5.h +0 -120
- data/vendor/openssl/include/openssl/mdc2.h +0 -98
- data/vendor/openssl/include/openssl/modes.h +0 -135
- data/vendor/openssl/include/openssl/obj_mac.h +0 -4032
- data/vendor/openssl/include/openssl/objects.h +0 -1138
- data/vendor/openssl/include/openssl/ocsp.h +0 -623
- data/vendor/openssl/include/openssl/opensslconf.h +0 -234
- data/vendor/openssl/include/openssl/opensslv.h +0 -89
- data/vendor/openssl/include/openssl/ossl_typ.h +0 -202
- data/vendor/openssl/include/openssl/pem.h +0 -641
- data/vendor/openssl/include/openssl/pem2.h +0 -70
- data/vendor/openssl/include/openssl/pkcs12.h +0 -331
- data/vendor/openssl/include/openssl/pkcs7.h +0 -499
- data/vendor/openssl/include/openssl/pqueue.h +0 -94
- data/vendor/openssl/include/openssl/rand.h +0 -149
- data/vendor/openssl/include/openssl/rc2.h +0 -103
- data/vendor/openssl/include/openssl/rc4.h +0 -90
- data/vendor/openssl/include/openssl/ripemd.h +0 -107
- data/vendor/openssl/include/openssl/rsa.h +0 -582
- data/vendor/openssl/include/openssl/safestack.h +0 -2663
- data/vendor/openssl/include/openssl/seed.h +0 -139
- data/vendor/openssl/include/openssl/sha.h +0 -214
- data/vendor/openssl/include/openssl/srp.h +0 -172
- data/vendor/openssl/include/openssl/srtp.h +0 -145
- data/vendor/openssl/include/openssl/ssl.h +0 -2579
- data/vendor/openssl/include/openssl/ssl2.h +0 -272
- data/vendor/openssl/include/openssl/ssl23.h +0 -83
- data/vendor/openssl/include/openssl/ssl3.h +0 -684
- data/vendor/openssl/include/openssl/stack.h +0 -108
- data/vendor/openssl/include/openssl/symhacks.h +0 -475
- data/vendor/openssl/include/openssl/tls1.h +0 -735
- data/vendor/openssl/include/openssl/ts.h +0 -858
- data/vendor/openssl/include/openssl/txt_db.h +0 -112
- data/vendor/openssl/include/openssl/ui.h +0 -383
- data/vendor/openssl/include/openssl/ui_compat.h +0 -83
- data/vendor/openssl/include/openssl/whrlpool.h +0 -41
- data/vendor/openssl/include/openssl/x509.h +0 -1297
- data/vendor/openssl/include/openssl/x509_vfy.h +0 -567
- data/vendor/openssl/include/openssl/x509v3.h +0 -1007
- data/vendor/openssl/lib/engines/lib4758cca.so +0 -0
- data/vendor/openssl/lib/engines/libaep.so +0 -0
- data/vendor/openssl/lib/engines/libatalla.so +0 -0
- data/vendor/openssl/lib/engines/libcapi.so +0 -0
- data/vendor/openssl/lib/engines/libchil.so +0 -0
- data/vendor/openssl/lib/engines/libcswift.so +0 -0
- data/vendor/openssl/lib/engines/libgmp.so +0 -0
- data/vendor/openssl/lib/engines/libgost.so +0 -0
- data/vendor/openssl/lib/engines/libnuron.so +0 -0
- data/vendor/openssl/lib/engines/libpadlock.so +0 -0
- data/vendor/openssl/lib/engines/libsureware.so +0 -0
- data/vendor/openssl/lib/engines/libubsec.so +0 -0
- data/vendor/openssl/lib/libcrypto.a +0 -0
- data/vendor/openssl/lib/libcrypto.so +0 -0
- data/vendor/openssl/lib/libcrypto.so.1.0.0 +0 -0
- data/vendor/openssl/lib/libssl.a +0 -0
- data/vendor/openssl/lib/libssl.so +0 -0
- data/vendor/openssl/lib/libssl.so.1.0.0 +0 -0
- data/vendor/openssl/lib/pkgconfig/libcrypto.pc +0 -12
- data/vendor/openssl/lib/pkgconfig/libssl.pc +0 -12
- data/vendor/openssl/lib/pkgconfig/openssl.pc +0 -12
@@ -1,125 +0,0 @@
|
|
1
|
-
/* crypto/ecdh/ecdh.h */
|
2
|
-
/* ====================================================================
|
3
|
-
* Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
|
4
|
-
*
|
5
|
-
* The Elliptic Curve Public-Key Crypto Library (ECC Code) included
|
6
|
-
* herein is developed by SUN MICROSYSTEMS, INC., and is contributed
|
7
|
-
* to the OpenSSL project.
|
8
|
-
*
|
9
|
-
* The ECC Code is licensed pursuant to the OpenSSL open source
|
10
|
-
* license provided below.
|
11
|
-
*
|
12
|
-
* The ECDH software is originally written by Douglas Stebila of
|
13
|
-
* Sun Microsystems Laboratories.
|
14
|
-
*
|
15
|
-
*/
|
16
|
-
/* ====================================================================
|
17
|
-
* Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved.
|
18
|
-
*
|
19
|
-
* Redistribution and use in source and binary forms, with or without
|
20
|
-
* modification, are permitted provided that the following conditions
|
21
|
-
* are met:
|
22
|
-
*
|
23
|
-
* 1. Redistributions of source code must retain the above copyright
|
24
|
-
* notice, this list of conditions and the following disclaimer.
|
25
|
-
*
|
26
|
-
* 2. Redistributions in binary form must reproduce the above copyright
|
27
|
-
* notice, this list of conditions and the following disclaimer in
|
28
|
-
* the documentation and/or other materials provided with the
|
29
|
-
* distribution.
|
30
|
-
*
|
31
|
-
* 3. All advertising materials mentioning features or use of this
|
32
|
-
* software must display the following acknowledgment:
|
33
|
-
* "This product includes software developed by the OpenSSL Project
|
34
|
-
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
|
35
|
-
*
|
36
|
-
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
37
|
-
* endorse or promote products derived from this software without
|
38
|
-
* prior written permission. For written permission, please contact
|
39
|
-
* licensing@OpenSSL.org.
|
40
|
-
*
|
41
|
-
* 5. Products derived from this software may not be called "OpenSSL"
|
42
|
-
* nor may "OpenSSL" appear in their names without prior written
|
43
|
-
* permission of the OpenSSL Project.
|
44
|
-
*
|
45
|
-
* 6. Redistributions of any form whatsoever must retain the following
|
46
|
-
* acknowledgment:
|
47
|
-
* "This product includes software developed by the OpenSSL Project
|
48
|
-
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
|
49
|
-
*
|
50
|
-
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
51
|
-
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
52
|
-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
53
|
-
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
54
|
-
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
55
|
-
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
56
|
-
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
57
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
58
|
-
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
59
|
-
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
60
|
-
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
61
|
-
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
62
|
-
* ====================================================================
|
63
|
-
*
|
64
|
-
* This product includes cryptographic software written by Eric Young
|
65
|
-
* (eay@cryptsoft.com). This product includes software written by Tim
|
66
|
-
* Hudson (tjh@cryptsoft.com).
|
67
|
-
*
|
68
|
-
*/
|
69
|
-
#ifndef HEADER_ECDH_H
|
70
|
-
#define HEADER_ECDH_H
|
71
|
-
|
72
|
-
#include <openssl/opensslconf.h>
|
73
|
-
|
74
|
-
#ifdef OPENSSL_NO_ECDH
|
75
|
-
#error ECDH is disabled.
|
76
|
-
#endif
|
77
|
-
|
78
|
-
#include <openssl/ec.h>
|
79
|
-
#include <openssl/ossl_typ.h>
|
80
|
-
#ifndef OPENSSL_NO_DEPRECATED
|
81
|
-
#include <openssl/bn.h>
|
82
|
-
#endif
|
83
|
-
|
84
|
-
#ifdef __cplusplus
|
85
|
-
extern "C" {
|
86
|
-
#endif
|
87
|
-
|
88
|
-
const ECDH_METHOD *ECDH_OpenSSL(void);
|
89
|
-
|
90
|
-
void ECDH_set_default_method(const ECDH_METHOD *);
|
91
|
-
const ECDH_METHOD *ECDH_get_default_method(void);
|
92
|
-
int ECDH_set_method(EC_KEY *, const ECDH_METHOD *);
|
93
|
-
|
94
|
-
int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh,
|
95
|
-
void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen));
|
96
|
-
|
97
|
-
int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new
|
98
|
-
*new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
|
99
|
-
int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg);
|
100
|
-
void *ECDH_get_ex_data(EC_KEY *d, int idx);
|
101
|
-
|
102
|
-
|
103
|
-
/* BEGIN ERROR CODES */
|
104
|
-
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
105
|
-
* made after this point may be overwritten when the script is next run.
|
106
|
-
*/
|
107
|
-
void ERR_load_ECDH_strings(void);
|
108
|
-
|
109
|
-
/* Error codes for the ECDH functions. */
|
110
|
-
|
111
|
-
/* Function codes. */
|
112
|
-
#define ECDH_F_ECDH_CHECK 102
|
113
|
-
#define ECDH_F_ECDH_COMPUTE_KEY 100
|
114
|
-
#define ECDH_F_ECDH_DATA_NEW_METHOD 101
|
115
|
-
|
116
|
-
/* Reason codes. */
|
117
|
-
#define ECDH_R_KDF_FAILED 102
|
118
|
-
#define ECDH_R_NON_FIPS_METHOD 103
|
119
|
-
#define ECDH_R_NO_PRIVATE_VALUE 100
|
120
|
-
#define ECDH_R_POINT_ARITHMETIC_FAILURE 101
|
121
|
-
|
122
|
-
#ifdef __cplusplus
|
123
|
-
}
|
124
|
-
#endif
|
125
|
-
#endif
|
@@ -1,260 +0,0 @@
|
|
1
|
-
/* crypto/ecdsa/ecdsa.h */
|
2
|
-
/**
|
3
|
-
* \file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions
|
4
|
-
* \author Written by Nils Larsch for the OpenSSL project
|
5
|
-
*/
|
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
|
-
|
84
|
-
/** Allocates and initialize a ECDSA_SIG structure
|
85
|
-
* \return pointer to a ECDSA_SIG structure or NULL if an error occurred
|
86
|
-
*/
|
87
|
-
ECDSA_SIG *ECDSA_SIG_new(void);
|
88
|
-
|
89
|
-
/** frees a ECDSA_SIG structure
|
90
|
-
* \param sig pointer to the ECDSA_SIG structure
|
91
|
-
*/
|
92
|
-
void ECDSA_SIG_free(ECDSA_SIG *sig);
|
93
|
-
|
94
|
-
/** DER encode content of ECDSA_SIG object (note: this function modifies *pp
|
95
|
-
* (*pp += length of the DER encoded signature)).
|
96
|
-
* \param sig pointer to the ECDSA_SIG object
|
97
|
-
* \param pp pointer to a unsigned char pointer for the output or NULL
|
98
|
-
* \return the length of the DER encoded ECDSA_SIG object or 0
|
99
|
-
*/
|
100
|
-
int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp);
|
101
|
-
|
102
|
-
/** Decodes a DER encoded ECDSA signature (note: this function changes *pp
|
103
|
-
* (*pp += len)).
|
104
|
-
* \param sig pointer to ECDSA_SIG pointer (may be NULL)
|
105
|
-
* \param pp memory buffer with the DER encoded signature
|
106
|
-
* \param len length of the buffer
|
107
|
-
* \return pointer to the decoded ECDSA_SIG structure (or NULL)
|
108
|
-
*/
|
109
|
-
ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len);
|
110
|
-
|
111
|
-
/** Computes the ECDSA signature of the given hash value using
|
112
|
-
* the supplied private key and returns the created signature.
|
113
|
-
* \param dgst pointer to the hash value
|
114
|
-
* \param dgst_len length of the hash value
|
115
|
-
* \param eckey EC_KEY object containing a private EC key
|
116
|
-
* \return pointer to a ECDSA_SIG structure or NULL if an error occurred
|
117
|
-
*/
|
118
|
-
ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst,int dgst_len,EC_KEY *eckey);
|
119
|
-
|
120
|
-
/** Computes ECDSA signature of a given hash value using the supplied
|
121
|
-
* private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
|
122
|
-
* \param dgst pointer to the hash value to sign
|
123
|
-
* \param dgstlen length of the hash value
|
124
|
-
* \param kinv BIGNUM with a pre-computed inverse k (optional)
|
125
|
-
* \param rp BIGNUM with a pre-computed rp value (optioanl),
|
126
|
-
* see ECDSA_sign_setup
|
127
|
-
* \param eckey EC_KEY object containing a private EC key
|
128
|
-
* \return pointer to a ECDSA_SIG structure or NULL if an error occurred
|
129
|
-
*/
|
130
|
-
ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen,
|
131
|
-
const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey);
|
132
|
-
|
133
|
-
/** Verifies that the supplied signature is a valid ECDSA
|
134
|
-
* signature of the supplied hash value using the supplied public key.
|
135
|
-
* \param dgst pointer to the hash value
|
136
|
-
* \param dgst_len length of the hash value
|
137
|
-
* \param sig ECDSA_SIG structure
|
138
|
-
* \param eckey EC_KEY object containing a public EC key
|
139
|
-
* \return 1 if the signature is valid, 0 if the signature is invalid
|
140
|
-
* and -1 on error
|
141
|
-
*/
|
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
|
-
|
147
|
-
/** Sets the default ECDSA method
|
148
|
-
* \param meth new default ECDSA_METHOD
|
149
|
-
*/
|
150
|
-
void ECDSA_set_default_method(const ECDSA_METHOD *meth);
|
151
|
-
|
152
|
-
/** Returns the default ECDSA method
|
153
|
-
* \return pointer to ECDSA_METHOD structure containing the default method
|
154
|
-
*/
|
155
|
-
const ECDSA_METHOD *ECDSA_get_default_method(void);
|
156
|
-
|
157
|
-
/** Sets method to be used for the ECDSA operations
|
158
|
-
* \param eckey EC_KEY object
|
159
|
-
* \param meth new method
|
160
|
-
* \return 1 on success and 0 otherwise
|
161
|
-
*/
|
162
|
-
int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth);
|
163
|
-
|
164
|
-
/** Returns the maximum length of the DER encoded signature
|
165
|
-
* \param eckey EC_KEY object
|
166
|
-
* \return numbers of bytes required for the DER encoded signature
|
167
|
-
*/
|
168
|
-
int ECDSA_size(const EC_KEY *eckey);
|
169
|
-
|
170
|
-
/** Precompute parts of the signing operation
|
171
|
-
* \param eckey EC_KEY object containing a private EC key
|
172
|
-
* \param ctx BN_CTX object (optional)
|
173
|
-
* \param kinv BIGNUM pointer for the inverse of k
|
174
|
-
* \param rp BIGNUM pointer for x coordinate of k * generator
|
175
|
-
* \return 1 on success and 0 otherwise
|
176
|
-
*/
|
177
|
-
int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv,
|
178
|
-
BIGNUM **rp);
|
179
|
-
|
180
|
-
/** Computes ECDSA signature of a given hash value using the supplied
|
181
|
-
* private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
|
182
|
-
* \param type this parameter is ignored
|
183
|
-
* \param dgst pointer to the hash value to sign
|
184
|
-
* \param dgstlen length of the hash value
|
185
|
-
* \param sig memory for the DER encoded created signature
|
186
|
-
* \param siglen pointer to the length of the returned signature
|
187
|
-
* \param eckey EC_KEY object containing a private EC key
|
188
|
-
* \return 1 on success and 0 otherwise
|
189
|
-
*/
|
190
|
-
int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen,
|
191
|
-
unsigned char *sig, unsigned int *siglen, EC_KEY *eckey);
|
192
|
-
|
193
|
-
|
194
|
-
/** Computes ECDSA signature of a given hash value using the supplied
|
195
|
-
* private key (note: sig must point to ECDSA_size(eckey) bytes of memory).
|
196
|
-
* \param type this parameter is ignored
|
197
|
-
* \param dgst pointer to the hash value to sign
|
198
|
-
* \param dgstlen length of the hash value
|
199
|
-
* \param sig buffer to hold the DER encoded signature
|
200
|
-
* \param siglen pointer to the length of the returned signature
|
201
|
-
* \param kinv BIGNUM with a pre-computed inverse k (optional)
|
202
|
-
* \param rp BIGNUM with a pre-computed rp value (optioanl),
|
203
|
-
* see ECDSA_sign_setup
|
204
|
-
* \param eckey EC_KEY object containing a private EC key
|
205
|
-
* \return 1 on success and 0 otherwise
|
206
|
-
*/
|
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
|
-
|
211
|
-
/** Verifies that the given signature is valid ECDSA signature
|
212
|
-
* of the supplied hash value using the specified public key.
|
213
|
-
* \param type this parameter is ignored
|
214
|
-
* \param dgst pointer to the hash value
|
215
|
-
* \param dgstlen length of the hash value
|
216
|
-
* \param sig pointer to the DER encoded signature
|
217
|
-
* \param siglen length of the DER encoded signature
|
218
|
-
* \param eckey EC_KEY object containing a public EC key
|
219
|
-
* \return 1 if the signature is valid, 0 if the signature is invalid
|
220
|
-
* and -1 on error
|
221
|
-
*/
|
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
|