0

Boringssl 可以在 ARMv8 裸机平台上工作吗?我尝试使用 aarch64-elf-gcc 构建boringssl,但它拒绝构建。

如果是这样,任何移植指南或建议?

4

1 回答 1

0

可能不是开箱即用的。但是您可能甚至不应该尝试使用它,主要是因为根据 Google 本身的说法,它不适合一般用途
在使用库(更具体地说是加密库)时,独自一人从来都不是一件好事。这通常是没有错误修复、没有支持、没有用户论坛等的同义词。
您可以考虑为此目的设计的库,例如mbedtls(以前称为 PolarSSL)。
它被广泛用于各种系统,从裸机系统 ( FreeRTOS ) 到 Linux(例如Hiawhata Web 服务器确实使用它)。

更新: 即使需要对 Armv8-a 硬件加密扩展的支持,您仍然可以重用 BoringSSL Armv8-a 优化例程(ISC 许可证)或Cavium armv8_crypto 库(BSD 许可证),以替换 mbedtls(Apache 2.0 lisense)等效例程:加密函数通常具有干净且小型的接口。

根据我的经验,如果您的目标是裸机,这可能仍然比移植针对通用操作系统的库要快,但是您最终必须在特定情况下评估这两种选择的成本。

我的猜测是,与尝试剥离openssl或boringssl以在裸机目标上使用相比,在适当的许可下使用现有的、受支持的代码为mbedtls添加对Armv8-a加密扩展的支持所涉及的工作要少得多.

有一篇非常好的文档解释了如何在 mbedtls 中添加对硬件加速加密的支持这可以帮助您评估您的选择。

于 2019-04-10T12:58:03.537 回答