Может ли Boringssl работать в системе ARM без операционной системы?

Может ли Boringssl работать на голой металлической платформе ARMv8? Я попытался собрать Boringssl с помощью aarch64-elf-gcc, но он отказался собираться.

Если это так, какие-либо руководства по переносу или предложения?


person Leslie Li    schedule 10.04.2019    source источник


Ответы (1)


Наверное не из коробки. Но вам, вероятно, не стоит даже пытаться использовать его, главным образом потому, что, по словам самого 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 здесь, это может помочь вам оценить ваши варианты.

person Frant    schedule 10.04.2019
comment
mbedtls не поддерживает крипторасширение armv8, поэтому я его не выбирал - person Leslie Li; 11.04.2019
comment
это очень хороший момент, я соответственно обновил ответ выше. - person Frant; 12.04.2019
comment
Очень полезная информация, я хочу сказать большое спасибо тебе Франт, я думаю, что теперь у меня есть смысл. - person Leslie Li; 12.04.2019