Не удается установить поля kinv и r в структуре DSA openssl 1.1 - PullRequest
0 голосов
/ 14 февраля 2019

Я использую openssl 1.1 и хочу установить значения для kinv и r в структуре DSA.
Начиная с openssl 1.1, в структуре DSA таких полей нет.
Как применить эти значения в новом openssl?
В версии 1.0 я делаю это следующим образом:

dsa->kinv = kinv;
dsa->r = r;

Структура DSA в openssl 1.0

struct dsa_st {
/*
 * This first variable is used to pick up errors where a DSA is passed
 * instead of of a EVP_PKEY
 */
int pad;
long version;
int write_params;
BIGNUM *p;
BIGNUM *q;                  /* == 20 */
BIGNUM *g;
BIGNUM *pub_key;            /* y public key */
BIGNUM *priv_key;           /* x private key */
BIGNUM *kinv;               /* Signing pre-calc */
BIGNUM *r;                  /* Signing pre-calc */
int flags;
/* Normally used to cache montgomery values */
BN_MONT_CTX *method_mont_p;
int references;
CRYPTO_EX_DATA ex_data;
const DSA_METHOD *meth;
/* functional reference if 'meth' is ENGINE-provided */
ENGINE *engine;

};

Структура DSA в openssl 1.1

struct dsa_st {
/*
 * This first variable is used to pick up errors where a DSA is passed
 * instead of of a EVP_PKEY
 */
int pad;
int32_t version;
BIGNUM *p;
BIGNUM *q;                  /* == 20 */
BIGNUM *g;
BIGNUM *pub_key;            /* y public key */
BIGNUM *priv_key;           /* x private key */
int flags;
/* Normally used to cache montgomery values */
BN_MONT_CTX *method_mont_p;
CRYPTO_REF_COUNT references;
CRYPTO_EX_DATA ex_data;
const DSA_METHOD *meth;
/* functional reference if 'meth' is ENGINE-provided */
ENGINE *engine;
CRYPTO_RWLOCK *lock;

};

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...