diff options
Diffstat (limited to 'src/lib/libcrypto/ec/ec.h')
-rw-r--r-- | src/lib/libcrypto/ec/ec.h | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/src/lib/libcrypto/ec/ec.h b/src/lib/libcrypto/ec/ec.h index f711d55050..aac3537655 100644 --- a/src/lib/libcrypto/ec/ec.h +++ b/src/lib/libcrypto/ec/ec.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec.h,v 1.42 2023/07/05 17:10:10 tb Exp $ */ | 1 | /* $OpenBSD: ec.h,v 1.43 2023/07/28 09:16:17 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Originally written by Bodo Moeller for the OpenSSL project. | 3 | * Originally written by Bodo Moeller for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -326,6 +326,31 @@ void EC_KEY_set_default_method(const EC_KEY_METHOD *meth); | |||
326 | const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key); | 326 | const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key); |
327 | int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth); | 327 | int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth); |
328 | EC_KEY *EC_KEY_new_method(ENGINE *engine); | 328 | EC_KEY *EC_KEY_new_method(ENGINE *engine); |
329 | |||
330 | typedef struct ECDSA_SIG_st ECDSA_SIG; | ||
331 | |||
332 | ECDSA_SIG *ECDSA_SIG_new(void); | ||
333 | void ECDSA_SIG_free(ECDSA_SIG *sig); | ||
334 | int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); | ||
335 | ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); | ||
336 | |||
337 | const BIGNUM *ECDSA_SIG_get0_r(const ECDSA_SIG *sig); | ||
338 | const BIGNUM *ECDSA_SIG_get0_s(const ECDSA_SIG *sig); | ||
339 | void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps); | ||
340 | int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s); | ||
341 | |||
342 | int ECDSA_size(const EC_KEY *eckey); | ||
343 | |||
344 | ECDSA_SIG *ECDSA_do_sign(const unsigned char *digest, int digest_len, | ||
345 | EC_KEY *eckey); | ||
346 | int ECDSA_do_verify(const unsigned char *digest, int digest_len, | ||
347 | const ECDSA_SIG *sig, EC_KEY *eckey); | ||
348 | |||
349 | int ECDSA_sign(int type, const unsigned char *digest, int digest_len, | ||
350 | unsigned char *signature, unsigned int *signature_len, EC_KEY *eckey); | ||
351 | int ECDSA_verify(int type, const unsigned char *digest, int digest_len, | ||
352 | const unsigned char *signature, int signature_len, EC_KEY *eckey); | ||
353 | |||
329 | EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth); | 354 | EC_KEY_METHOD *EC_KEY_METHOD_new(const EC_KEY_METHOD *meth); |
330 | void EC_KEY_METHOD_free(EC_KEY_METHOD *meth); | 355 | void EC_KEY_METHOD_free(EC_KEY_METHOD *meth); |
331 | void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, | 356 | void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, |
@@ -340,6 +365,18 @@ void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, | |||
340 | void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, | 365 | void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, |
341 | int (*ckey)(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh, | 366 | int (*ckey)(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh, |
342 | void *(*KDF) (const void *in, size_t inlen, void *out, size_t *outlen))); | 367 | void *(*KDF) (const void *in, size_t inlen, void *out, size_t *outlen))); |
368 | void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, | ||
369 | int (*sign)(int type, const unsigned char *digest, int digest_len, | ||
370 | unsigned char *signature, unsigned int *signature_len, | ||
371 | const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), | ||
372 | int (*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), | ||
373 | ECDSA_SIG *(*sign_sig)(const unsigned char *digest, int digest_len, | ||
374 | const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey)); | ||
375 | void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, | ||
376 | int (*verify)(int type, const unsigned char *digest, int digest_len, | ||
377 | const unsigned char *signature, int signature_len, EC_KEY *eckey), | ||
378 | int (*verify_sig)(const unsigned char *digest, int digest_len, | ||
379 | const ECDSA_SIG *sig, EC_KEY *eckey)); | ||
343 | void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, | 380 | void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, |
344 | int (**pinit)(EC_KEY *key), | 381 | int (**pinit)(EC_KEY *key), |
345 | void (**pfinish)(EC_KEY *key), | 382 | void (**pfinish)(EC_KEY *key), |
@@ -352,6 +389,18 @@ void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, | |||
352 | void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, | 389 | void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, |
353 | int (**pck)(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh, | 390 | int (**pck)(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh, |
354 | void *(*KDF) (const void *in, size_t inlen, void *out, size_t *outlen))); | 391 | void *(*KDF) (const void *in, size_t inlen, void *out, size_t *outlen))); |
392 | void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth, | ||
393 | int (**psign)(int type, const unsigned char *digest, int digest_len, | ||
394 | unsigned char *signature, unsigned int *signature_len, | ||
395 | const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), | ||
396 | int (**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), | ||
397 | ECDSA_SIG *(**psign_sig)(const unsigned char *digest, int digest_len, | ||
398 | const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey)); | ||
399 | void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth, | ||
400 | int (**pverify)(int type, const unsigned char *digest, int digest_len, | ||
401 | const unsigned char *signature, int signature_len, EC_KEY *eckey), | ||
402 | int (**pverify_sig)(const unsigned char *digest, int digest_len, | ||
403 | const ECDSA_SIG *sig, EC_KEY *eckey)); | ||
355 | 404 | ||
356 | EC_KEY *ECParameters_dup(EC_KEY *key); | 405 | EC_KEY *ECParameters_dup(EC_KEY *key); |
357 | 406 | ||