为了在 android 上使用支持 fips 的 openssl 库(在我的例子中是 libcrypto.a),我需要在 my.so(JNI 代码)中链接内置的 libcrypto.a。根据openssl fips 2.0 user manual,应该使用fipsld来验证和生成hmac签名。我目前正在使用“ndk-build”链接 libcrypto.a 并生成 my.so,我的问题是,如何将 fipsld 集成到我的 Android.mk 中?
如果Android.mk/ndk-build 不好用,我会改用arm-eabi-gcc 链接libcrypto.a 并创建my.so。 gcc 使用 fipsld 的方法记录在 openssl fips 用户手册中。任何人都可以为我提供一个链接到构建 .so 链接 .a for android 的示例集(配置/生成文件)。
谢谢
最佳答案
无需使用fipsld,使用构建fips openssl共享库
make fips shared --with-fipsdir=xxxxx
并使用 ndk-build
通过符号链接(symbolic link) libcrypto.so 链接到 libcrypto.so.1.0.0。
关于Android,如何在 "ndk-build"中使用 fipsld for openssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11209476/