X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_lcl.h;h=2152257d79cee65d56f446b4ca9156dfe4d607e6;hb=82d1ac30943cbe9223f024466404e7be720379b6;hp=3cc15f73a4f1839634787f8c533da96263d2dd38;hpb=a170809d792816448cb4c95f3473531a1a917e69;p=openssl-gost%2Fengine.git diff --git a/gost_lcl.h b/gost_lcl.h index 3cc15f7..2152257 100644 --- a/gost_lcl.h +++ b/gost_lcl.h @@ -21,9 +21,11 @@ /* Control commands */ # define GOST_PARAM_CRYPT_PARAMS 0 # define GOST_PARAM_PBE_PARAMS 1 -# define GOST_PARAM_MAX 1 +# define GOST_PARAM_PK_PARAMS 2 +# define GOST_PARAM_MAX 2 # define GOST_CTRL_CRYPT_PARAMS (ENGINE_CMD_BASE+GOST_PARAM_CRYPT_PARAMS) # define GOST_CTRL_PBE_PARAMS (ENGINE_CMD_BASE+GOST_PARAM_PBE_PARAMS) +# define GOST_CTRL_PK_PARAMS (ENGINE_CMD_BASE+GOST_PARAM_PK_PARAMS) typedef struct R3410_ec { int nid; @@ -205,10 +207,11 @@ extern struct gost_cipher_info gost_cipher_list[]; /* Find encryption params from ASN1_OBJECT */ const struct gost_cipher_info *get_encryption_params(ASN1_OBJECT *obj); /* Implementation of GOST 28147-89 cipher in CFB and CNT modes */ -extern EVP_CIPHER cipher_gost; -extern EVP_CIPHER cipher_gost_cbc; -extern EVP_CIPHER cipher_gost_cpacnt; -extern EVP_CIPHER cipher_gost_cpcnt_12; +const EVP_CIPHER *cipher_gost(); +const EVP_CIPHER *cipher_gost_cbc(); +const EVP_CIPHER *cipher_gost_cpacnt(); +const EVP_CIPHER *cipher_gost_cpcnt_12(); +void cipher_gost_destroy(); # define EVP_MD_CTRL_KEY_LEN (EVP_MD_CTRL_ALG_CTRL+3) # define EVP_MD_CTRL_SET_KEY (EVP_MD_CTRL_ALG_CTRL+4) # define EVP_MD_CTRL_MAC_LEN (EVP_MD_CTRL_ALG_CTRL+5) @@ -244,9 +247,7 @@ BIGNUM *hashsum2bn(const unsigned char *dgst, int len); * Store bignum in byte array of given length, prepending by zeros if * 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); +int store_bignum(const BIGNUM *bn, unsigned char *buf, int 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 */