Сбой сборки Oreo 8.1 boringssl для принудительного режима FIPS

1

Я пытаюсь собрать boringssl для режима FIPS Enforced, и сборка не выполняется. До сих пор я включил два флага "FIPS" и "FIPS_DELOCATE" в команде cmake, после чего последовала сборка ниндзя.

Я использую Oreo 8.1. Codebase и я боролись с этим в течение достаточно долгого времени. Вот шаги, за которыми я следовал.

external/boringssl/src$ cmake -DANDROID_ABI=arm64-v8a -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=27  -DFIPS=1 -DFIPS_DELOCATE=1
// This command executes successfully, and all config files are generated 

external/boringssl/src$ ninja 

// This command giving below error

siyachin@pcz-siyachin:/u/siyachin/Project_O3/external/boringssl/src$ ninja
[244/388] Building C object crypto/fipsmodule/CMakeFiles/bcm_c_generated_asm.dir/bcm.c.o
clang: warning: argument unused during compilation: '-Wa,--noexecstack' [-Wunused-command-line-argument]
[252/388] Generating bcm-delocated.S
FAILED: cd /u/siyachin/Project_O3/external/boringssl/src && go run util/fipstools/delocate.go util/fipstools/delocate.peg.go util/fipstools/ar.go util/fipstools/const.go -a /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/libbcm_c_generated_asm.a -o /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/bcm-delocated.S /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/aesv8-armx.S /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/armv8-mont.S /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/ghashv8-armx.S /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/sha1-armv8.S /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/sha256-armv8.S /u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/sha512-armv8.S
error while parsing "/u/siyachin/Project_O3/external/boringssl/src/crypto/fipsmodule/libbcm_c_generated_asm.a":
parse error near WS (line 57 symbol 29 - line 57 symbol 34):
"     "

exit status 1
ninja: build stopped: subcommand failed.

Я думаю, что сборка не удалась с помощью util/fipstools/delocate.go. Я попытался поместить несколько журналов отладки, и это не помогло при попытке парсировать libbcm_c_generated_asm.a из delocate.go.

Кроме того, есть ли способ, с помощью которого я могу запускать файлы go from Android.bp?, Так как расслабленный режим FIPS строится правильно с моим Android.bp?

Теги:
android-ndk
android-ndk-r7

2 ответа

1

Я столкнулся с той же проблемой. Я пытался скомпилировать boringssl в режиме fips для x86 (x86_64 работает). Я смог обойти проблемы "разбора", изменив "delocate.peg", восстановив "delocate.peg.go" (используя https://github.com/pointlander/peg), но в итоге застрял. Если вы посмотрите на строку 141 в файле https://boringssl.googlesource.com/boringssl/+/refs/tags/fips-20180730/util/fipstools/delocate.go, вы увидите, что режим FIPS поддерживается только для x86_64 и ppc64le, в настоящее время он не поддерживается для ARM или x86.

См. Поддерживаемую арку по адресу https://csrc.nist.gov/csrc/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp2964.pdf.

0

Удалось ли вам решить эту проблему?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню