首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openssl 1.1.1d无效使用了不完整的类型“struct dsa_st”

Openssl 1.1.1d无效使用了不完整的类型“struct dsa_st”
EN

Stack Overflow用户
提问于 2020-02-27 01:02:31
回答 1查看 1.5K关注 0票数 0

我正在从openssl 1.0.2s迁移到1.1.1d,并且出现以下错误。

我在openssl文档上搜索了一下,似乎调用字段发生了变化。我不确定我需要如何在我的代码中实现它。

代码语言:javascript
复制
const BIGNUM * const *KeyPairImpl::getField(const string &field) const
{
  if (field == "P")
    return &dsa_->p;
  else if (field == "Q")
    return &dsa_->q;
  else if (field == "G")
    return &dsa_->g;
  else if (field == "X")
    return &dsa_->priv_key;
  else if (field == "Y")
    return &dsa_->pub_key;
  else
    // unknown field name
    return NULL;
}

错误

代码语言:javascript
复制
KeyPair.cpp: In member function ‘const BIGNUM* const* KeyPairImpl::getField(const std::string&) const’:
KeyPair.cpp:84: error: invalid use of incomplete type ‘struct dsa_st’
/usr/local/ssl_1.1.1d/include/openssl/ossl_typ.h:107: error: forward declaration of ‘struct dsa_st’
KeyPair.cpp:86: error: invalid use of incomplete type ‘struct dsa_st’
/usr/local/ssl_1.1.1d/include/openssl/ossl_typ.h:107: error: forward declaration of ‘struct dsa_st’
KeyPair.cpp:88: error: invalid use of incomplete type ‘struct dsa_st’
/usr/local/ssl_1.1.1d/include/openssl/ossl_typ.h:107: error: forward declaration of ‘struct dsa_st’
KeyPair.cpp:90: error: invalid use of incomplete type ‘struct dsa_st’
/usr/local/ssl_1.1.1d/include/openssl/ossl_typ.h:107: error: forward declaration of ‘struct dsa_st’
KeyPair.cpp:92: error: invalid use of incomplete type ‘struct dsa_st’
/usr/local/ssl_1.1.1d/include/openssl/ossl_typ.h:107: error: forward declaration of ‘struct dsa_st’
cc1plus: warnings being treated as errors
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 02:16:11

Openssl 1.1.1不再允许您直接访问内部结构。您需要使用提供的API函数来访问内部数据(如果提供)。

对于dsa_->p,使用DSA_get0_p

对于dsa_->q,请使用DSA_get0_q

对于dsa_->g,请使用DSA_get0_g

对于dsa_->priv_key,请使用DSA_get0_priv_key

对于dsa->发布密钥,请使用DSA_get0_pub_key

例如:

代码语言:javascript
复制
return DSA_get0_p(dsa_);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60418967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档