仅用于iOS的Diffie-Hellman构buildOpenSSL
我使用这个 github仓库为iOS构build了OpenSSL。 不幸的是,build立的库是44 MB的大小。 这远远不够。
我只需要使用OpenSSL来实现Diffie-Hellman密钥交换。 如果我只从中提取Diffie-Hellman部分,我认为图书馆的规模将大大减less。 谁能告诉我,如果这是可能的,我怎么能做到这一点?
谁能告诉我,如果这是可能的,我怎么能做到这一点?
那么,我从来没有见过以这种方式configurationOpenSSL,所以我不知道有多接近你可以得到的目标。 但是你正在寻找的是configuration的各种no-xxx
选项。 我也不知道他们的全面清单。
要添加额外的皱纹,您只需要libcrypto
(提供encryption,如Diffie-Hellman),而不是libssl
(提供更高级别的SSL / TLSfunction)。
另一种方法是不必担心档案或磁带库的磁盘大小,当磁带库链接到某个程序时,将重点放在不需要的部分。 为此,请执行以下操作:
CFLAGS += -ffunction-sections -fdata-sections LDFLAGS += -Wl,-dead_strip
这将允许链接器删除最终二进制文件中没有使用的任何代码或数据。 既然你只使用Diffie-Hellman(和相关函数,比如Big Integers),那么这是唯一应该存在的东西。
(在Linux上,您将使用LDFLAGS += -Wl,--gc-sections
)。
OpenSSL并不总是尊重你的CFLAGS
和LDFLAGS
。 如果是这种情况,那么在构buildiOS版OpenSSL时,可能需要为Configure
添加一个特殊规则。 要做到这一点,请参阅“ 编译和安装”中有关RPATH的讨论 在OpenSSL wiki上使用RPATH 。