X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_lcl.h;h=68f40b683cb50814af14faf901df8d7768f2722e;hb=6bea7d0e052ac677a6744d6f755006bb71f889a3;hp=b089eb2a476d08f6d79e1d35adcbc890f78ab892;hpb=096f193c98ffbe23686f10c834b2c42092b65954;p=openssl-gost%2Fengine.git diff --git a/gost_lcl.h b/gost_lcl.h index b089eb2..68f40b6 100644 --- a/gost_lcl.h +++ b/gost_lcl.h @@ -80,6 +80,7 @@ struct gost_mac_pmeth_data { struct gost_mac_key { int mac_param_nid; unsigned char key[32]; + short int mac_size; }; /* GOST-specific ASN1 structures */ @@ -163,13 +164,18 @@ struct ossl_gost_digest_ctx { gost_ctx cctx; }; /* EVP_MD structure for GOST R 34.11 */ -extern EVP_MD digest_gost; +EVP_MD *digest_gost(void); +void digest_gost_destroy(void); /* EVP MD structure for GOST R 34.11-2012 algorithms */ -extern EVP_MD digest_gost2012_256; -extern EVP_MD digest_gost2012_512; +EVP_MD *digest_gost2012_256(void); +EVP_MD *digest_gost2012_512(void); +void digest_gost2012_256_destroy(void); +void digest_gost2012_512_destroy(void); /* EVP_MD structure for GOST 28147 in MAC mode */ -extern EVP_MD imit_gost_cpa; -extern EVP_MD imit_gost_cp_12; +EVP_MD *imit_gost_cpa(void); +void imit_gost_cpa_destroy(void); +EVP_MD *imit_gost_cp_12(void); +void imit_gost_cp_12_destroy(void); /* Cipher context used for EVP_CIPHER operation */ struct ossl_gost_cipher_ctx { int paramNID; @@ -239,8 +245,6 @@ BIGNUM *hashsum2bn(const unsigned char *dgst, int len); * nesseccary */ int store_bignum(BIGNUM *bn, unsigned char *buf, int len); -/* Read bignum, which can have few MSB all-zeros from buffer*/ -BIGNUM *getbnfrombuf(const unsigned char *buf, size_t len); /* Pack GOST R 34.10 signature according to CryptoPro rules */ int pack_sign_cp(DSA_SIG *s, int order, unsigned char *sig, size_t *siglen); /* from ameth.c */