Может ли Boringssl работать на голой металлической платформе ARMv8? Я попытался собрать Boringssl с помощью aarch64-elf-gcc, но он отказался собираться.
Если это так, какие-либо руководства по переносу или предложения?
Может ли Boringssl работать на голой металлической платформе ARMv8? Я попытался собрать Boringssl с помощью aarch64-elf-gcc, но он отказался собираться.
Если это так, какие-либо руководства по переносу или предложения?
Наверное не из коробки. Но вам, вероятно, не стоит даже пытаться использовать его, главным образом потому, что, по словам самого Google, он не предназначен для общего использования..
Самостоятельно использовать библиотеку, особенно криптографическую, никогда не стоит. Обычно это синоним отсутствия исправлений ошибок, поддержки, пользовательских форумов среди прочего.
Лучше рассмотреть библиотеку, предназначенную для этой цели, например mbedtls (ранее известный как PolarSSL).
Он используется в самых разных системах, начиная с "голого железа" (FreeRTOS) на Linux (веб-сервер Hiawhata использует его, например).
Обновление: Даже если требуется поддержка аппаратных криптографических расширений Armv8-a, вы все равно можете повторно использовать оптимизированные подпрограммы BoringSSL Armv8-a (лицензия ISC) или библиотека Cavium armv8_crypto (лицензия BSD) для замены эквивалентных подпрограмм mbedtls (лицензия Apache 2.0): криптографические функции обычно имеют понятные и небольшие интерфейсы. .
По моему опыту, это все же может быть быстрее, чем перенос библиотеки, ориентированной на операционную систему общего назначения, если ваша цель — «голое железо», но в конечном итоге вам придется оценить затраты на оба варианта в вашем конкретном случае.
< br/> Я предполагаю, что для добавления поддержки криптографических расширений Armv8-a в mbedtls с использованием уже существующего поддерживаемого кода под соответствующей лицензией требуется гораздо меньше работы, чем попытка урезать openssl или Boringssl для использования на голом -металлическая мишень.
Существует очень хорошая часть документации, объясняющая, как добавить поддержку криптографии с аппаратным ускорением в mbedtls здесь, это может помочь вам оценить ваши варианты.