我在我的应用程序中对 OpenSSL 的使用非常有限。基本上,我只是在做这两件事:
- RSA解密:用RSA_new、BN_bin2bn初始化RSA密钥,用RSA_private_decrypt进行RSA解密,释放密钥。
- AES 解密:使用 EVP__DecryptInit( ... EVP_aes_128_cbc )、EVP_DecryptUpdate 和 EVP_DecryptFinal。
就这样。尽管这种用法非常温和,但可执行文件大小超过 1MB,大约有 1,200 个不同的符号来自 OpenSSL 库。这些包括显然不在我的代码树中的函数,例如 ASN1_ 、 SHA1_、 EC_* 、 PKCS7 等。
我正在链接用于 iPhone Android 和 Windows 的 OpenSSL 静态库。在移动平台上,足迹是一个问题。我的链接器应该省略未引用的函数,因此这些符号似乎以某种方式被引用。
有没有办法采取更小的 OpenSSL 来减少可执行文件的大小?
你。