gpt4 book ai didi

c - OpenSSL 链接 : missing extern Symbol BIGNUM_it

转载 作者:行者123 更新时间:2023-11-30 17:23:40 27 4
gpt4 key购买 nike

我想在多个设备上使用 OpenSSL(1.0.1j) 的某些功能。一项要求是最小化代码的大小。 OpenSSL 代码静态链接到我的。我只使用 RSA_public_decrypt、BIO 和 PEM->RSA 解码方法。为了实现这一目标,我目前正在编译 OpenSSL,而不是标准的自动工具方式。我已经删除了一些我从未使用过的代码。我唯一无法解析的符号是 _BIGNUM_it。

它在 asn1t.h 中声明为:

DECLARE_ASN1_ITEM(BIGNUM)

#define DECLARE_ASN1_ITEM(name) \
extern const ASN1_ITEM name##_it;

它在rsa_asn1.c中使用:

ASN1_SIMPLE(RSA, n, BIGNUM),
ASN1_SIMPLE(RSA, e, BIGNUM),

解析为:

#define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type)

#define ASN1_EX_TYPE(flags, tag, stname, field, type) { \
(flags), (tag), offsetof(stname, field),\
#field, ASN1_ITEM_ref(type) }

#define ASN1_ITEM_ref(iptr) (&(iptr##_it))

我搜索了以这种方式使用的其他符号。它们是使用 IMPLMENT_ASN1_TYPE() 实现的。我使用 BIGNUM 搜索了所有 OpenSSL 代码以查找类似内容,但没有找到任何内容。我还尝试在代码中使用 IMPLMENT_ASN1_TYPE(BIGNUM),这导致了数千个错误。

这是外部提供的东西吗?我错过了 .c 文件吗?如果是,是哪一个?

感谢您的帮助!

最佳答案

我在 asn1/x_bignum.c 中找到了该符号。

关于c - OpenSSL 链接 : missing extern Symbol BIGNUM_it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27439472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com