X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gost_ameth.c;h=b73f9189dd0ce2bbfab343f41b0e8198058c2270;hb=7d8d59165b1f001d833182e5309c6711bdf269af;hp=6ae278655881c330797711047991da3d9d58dc7f;hpb=929a0c5b77fc8a5d2094790ad3c81da463ed0df3;p=openssl-gost%2Fengine.git diff --git a/gost_ameth.c b/gost_ameth.c index 6ae2786..b73f918 100644 --- a/gost_ameth.c +++ b/gost_ameth.c @@ -348,7 +348,7 @@ static int priv_decode_gost(EVP_PKEY *pk, const X509_ALGOR *palg = NULL; const ASN1_OBJECT *palg_obj = NULL; ASN1_INTEGER *priv_key = NULL; - int expected_key_len = 32; + int expected_key_len; if (!PKCS8_pkey_get0(&palg_obj, &pkey_buf, &priv_len, &palg, p8inf)) return 0; @@ -719,13 +719,13 @@ static int pub_encode_gost_ec(X509_PUBKEY *pub, const EVP_PKEY *pk) const EC_POINT *pub_key; BIGNUM *X = NULL, *Y = NULL, *order = NULL; const EC_KEY *ec = EVP_PKEY_get0((EVP_PKEY *)pk); - int ptype = V_ASN1_UNDEF; + int ptype = V_ASN1_SEQUENCE; + ASN1_STRING *params; algobj = OBJ_nid2obj(EVP_PKEY_base_id(pk)); - ASN1_STRING *params = encode_gost_algor_params(pk); + params = encode_gost_algor_params(pk); pval = params; - ptype = V_ASN1_SEQUENCE; order = BN_new(); if (!order) { @@ -773,8 +773,8 @@ static int pub_encode_gost_ec(X509_PUBKEY *pub, const EVP_PKEY *pk) } ret = i2d_ASN1_OCTET_STRING(octet, &buf); - ASN1_BIT_STRING_free(octet); err: + ASN1_BIT_STRING_free(octet); if (X) BN_free(X); if (Y)