我已经使用OpenSSL github存储库为iOS构建了这。不幸的是,构建的库大小为44 MB。这远远不够。
我只需要在Diffie-Hellman密钥交换实现中使用OpenSSL。我认为,如果我只从库中提取Diffie-Hellman部分,那么库的大小将大大减少。有人能告诉我这是否可能吗?我该怎么做?
发布于 2015-10-03 10:24:53
有人能告诉我这是否可能吗?我该怎么做?
嗯,我从来没有见过以这种方式配置OpenSSL,所以我不确定您能达到多近的目标。但是您要寻找的是用于no-xxx的各种Configure选项。我也不知道有一份完整的清单。
要增加额外的麻烦,您只需要libcrypto (它提供加密技术,比如Diffie),而不需要libssl (它提供更高级别的SSL/TLS函数)。
另一种方法是减少对存档或库的磁盘上大小的担忧,并在库链接到程序时将重点放在剥离不必要的部分上。为此,请执行以下操作:
CFLAGS += -ffunction-sections -fdata-sections
LDFLAGS += -Wl,-dead_strip这将允许链接器删除最终二进制文件中未使用的任何代码或数据。由于您只使用Diffie-Hellman (和相关函数,如大整数),这是唯一应该出现的东西。
(在Linux上,您可以使用LDFLAGS += -Wl,--gc-sections)。
OpenSSL并不总是尊重您的CFLAGS和LDFLAGS。如果是这样的话,您可能需要在为Configure构建OpenSSL for iOS时为iOS添加一个特殊规则。要做到这一点,请参阅使用RPATHs进行编译和安装在OpenSSL wiki上对RPATH的讨论。
https://stackoverflow.com/questions/32897777
复制相似问题