Присутствующей в прослойке функциональности достаточно чтобы обеспечить работу nginx на базе Rustls. Для перевода nginx на Rustls следует просто заменить библиотеки, без необходимости пересборки или изменения nginx. Из ближайших планов по развитию Rustls отмечается проведение оптимизации производительности в областях, в которых Rustls пока отстаёт от OpenSSL, и обеспечение поддержки RFC 8879 для сжатия сертификатов. Кроме того, в анонсе упомянут план перевода элементов инфраструктуры удостоверяющего цента Let’s Encrypt с OpenSSL на Rustls.
Проект Rustls развивает клиентскую и серверную реализацию протоколов TLS1.2 и TLS1.3 для использования в приложениях на языке Rust. Rustls не предоставляет собственную реализацию криптографических примитивов, а использует подключаемые провайдеры криптографических функций (поддерживаются алгоритмы ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM и AES256-GCM). По умолчанию в Rustls используется криптопровайдер на базе библиотеки aws-lc-rs, которая развивается компанией Amazon и базируется на С++ коде BoringSSL, сопровождаемого Google форка OpenSSL. В качестве криптопровайдера также может использоваться библиотека ring, частично основанная на BoringSSL и комбинирующая код на ассемблере, С++ и Rust.
Примечательно, что nginx имеет встроенную поддержку сборки с BoringSSL, что позволяет использовать данную библиотеку напрямую без лишних прослоек. При этом кроме встроенной в Rustls поддержки библиотек aws-lc-rs и ring, основанных на коде BoringSSL, для Rustls также развивается несколько сторонних криптопровайдеров, позволяющих использовать библиотеки mbedtls (код на Си), BoringSSL (C++) и RustCrypto (Rust).
Источник: http://www.opennet.ru/opennews/art.shtml?num=61141