我正在尝试为 iDevice 构建支持 FIPS 的 OpenSSL。我正在使用 FIPS 2.0 设备和 1.0.1 源。第 1 步是 OpenSSL FIPS 对象模块,进展顺利。第 2 步是支持 FIPS 的 OpenSSL。
要配置支持 FIPS 的 OpenSSL,我们执行:
./config -no-dtls --with-fiplibdir=/usr/local/ssl/iphoneos/lib
-no-dtls
是必需的,因为 Apple 省略了 STCP 和朋友。我不想让 STCP 和 DTLS 在这个过程中成为依赖项,所以这-no-dtls
是显而易见的选择。此外,第三方 STCP肯定会缺乏 Xcode 和交叉编译支持。
但是,-no-dtls
我们运行的要求是make depend
. make depend
导致我:
openssl-1.0.1c jwalton$ make depend
making depend in crypto...
../util/domd: line 30: makedepend: command not found
mv: Makefile.new: No such file or directory
make[1]: *** [depend] Error 127
make: *** [depend] Error 1
我尝试makedepend
在这个系统上找到(2012 MBP,Xcode 4.5),但它的 MIA:
$ find /Applications/Xcode.app/ -name makedepend 2>/dev/null
$ find /usr/ -name makedepend 2>/dev/null
$ find /bin/ -name makedepend 2>/dev/null
$
make depend
在这里是必不可少的。当我尝试在没有它的情况下继续时,我遇到了 STCP 问题。因此要求:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch armv7 -O3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk -fomit-frame-pointer -fno-common -c -o bss_dgram.o bss_dgram.c
bss_dgram.c:74:26: error: netinet/sctp.h: No such file or directory
bss_dgram.c: In function ‘BIO_new_dgram_sctp’:
bss_dgram.c:843: error: storage size of ‘auth’ isn’t known
bss_dgram.c:860: error: ‘SCTP_AUTH_CHUNK’ undeclared (first use in this function)
bss_dgram.c:860: error: (Each undeclared identifier is reported only once
bss_dgram.c:860: error: for each function it appears in.)
bss_dgram.c:860: error: invalid application of ‘sizeof’ to incomplete type ‘struct sctp_authchunk’
我去 X.org 取了包裹。由于缺少依赖项,该包不会从源构建。我看到这种情况正在无限期地进行(我以前一直在走这条路)。
我在这里有什么选择?