我已经更新了我的iOS脚本,现在使用最新的fips-2.0.14和openssl-1.1.0e为所有拱门构建。
在我使用1.0.2h之前,我相信并且fips-2.0.12并且没有添加armv7s支持。我需要添加它,以便我相应地升级和调整我的脚本https://gist.github.com/jostster/ebbc6925c668b632d8b185293080256c
这很好用,但是我现在在xcode中构建应用程序时出错了。
Undefined symbols for architecture armv7:
"_FIPS_text_start", referenced from:
_FINGERPRINT_premain in fips_premain.o
"_FIPS_signature", referenced from:
_FINGERPRINT_premain in fips_premain.o
+[VTFipsInfo getEmbeddedFingerprint] in VTFipsInfo.o
"_FIPS_incore_fingerprint", referenced from:
_FINGERPRINT_premain in fips_premain.o
+[VTFipsInfo getExpectedFingerprint] in VTFipsInfo.o
ld: symbol(s) not found for architecture armv7
VTFipsInfo.o是我的objective-c文件,如果启用了FIPS并获得要显示给最终用户的哈希值。如果我在我们的buildkite服务器上尝试这个,它用x86_64替换armv7。但是,在我的libssl和libcrypt.a上运行lipo --info
会返回
Architectures in the fat file: libssl.a are: armv7 i386 armv7s x86_64 arm64
Architectures in the fat file: libcrypto.a are: armv7 i386 armv7s x86_64 arm64
我在xcode中的有效架构是armv7,armv7s和armv64。在我升级openssl并添加armv7s支持之前,这不是问题。
任何想法如何解决这个问题?
更新1
使用上面的脚本编译libcrypto.a
和libssl.a
,然后您可以使用位于http://openssl.com/fips/2.0/platforms/ios/的fips-pi.tar.gz
示例应用程序进行测试。这遇到了同样的错误。