*/
int pack_sign_cp(DSA_SIG *s, int order, unsigned char *sig, size_t *siglen)
{
- BIGNUM *sig_r = NULL, *sig_s = NULL;
- DSA_SIG_get0(&sig_r, &sig_s, s);
+ const BIGNUM *sig_r = NULL, *sig_s = NULL;
+ DSA_SIG_get0(s, &sig_r, &sig_s);
*siglen = 2 * order;
memset(sig, 0, *siglen);
store_bignum(sig_s, sig, order);
DSA_SIG *unpack_cp_signature(const unsigned char *sig, size_t siglen)
{
DSA_SIG *s;
- BIGNUM *sig_r = NULL, *sig_s = NULL;
+ const BIGNUM *sig_r = NULL, *sig_s = NULL;
s = DSA_SIG_new();
if (s == NULL) {
GOSTerr(GOST_F_UNPACK_CP_SIGNATURE, ERR_R_MALLOC_FAILURE);
return NULL;
}
- DSA_SIG_get0(&sig_r, &sig_s, s);
+ DSA_SIG_get0(s, &sig_r, &sig_s);
sig_s = BN_bin2bn(sig, siglen / 2, NULL);
sig_r = BN_bin2bn(sig + siglen / 2, siglen / 2, NULL);
return s;
}
param = get_encryption_params(obj);
+ ASN1_OBJECT_free(obj);
if (param == NULL) {
GOSTerr(GOST_F_PKEY_GOST_MAC_CTRL_STR, GOST_R_INVALID_MAC_PARAMS);
return 0;
}
+
return pkey_gost_mac_ctrl(ctx, EVP_PKEY_CTRL_GOST_PARAMSET, 0,
(void *)param);
}