ISRG (Internet Security Research Group), mis on Let’s Encrypt projekti asutaja ja aitab kaasa interneti turvalisuse tehnoloogiate arendamisele, kuulutas välja rustls-openssl-compat kiht, mis võimaldab kasutada Rustlsi teeki OpenSSLi läbipaistva asendusena. Praegu on projekt pakkunud välja rustls-libssl teostuse, mis tagab libssl-iga ühilduvuse, samas kui libcrypto teostus on arendamisel.
Kiht sisaldab piisavalt funktsionaalsust, et võimaldada Rustlsi baasil töötava nginx'i kasutamist. Nginx'i viimiseks Rustlsi tuleb lihtsalt asendada teegid, ilma et oleks vajalik nginx'i uuesti koostamine või muutmine. Rustlsi lähituleviku arenduste kavades on märgitud jõudluse optimeerimine valdkondades, kus Rustls hetkel OpenSSL-ile jalgu jääb, ja RFC 8879 toe tagamine sertifikaatide tihendamiseks. Lisaks mainiti teadetes plaani viia Let’s Encrypti tunnistusasutuse infrastruktuuri elemendid OpenSSList Rustlisse.
Projekt Rustls arendab klient- ja serveriteostuste TLS1.2 ning TLS1.3 protokollide rakendamiseks Rusti keeles. Rustls ei paku oma krüptograafiliste primitiivide teostust, vaid kasutab pluginaid krüptograafiliste funktsioonide pakkujatelt (toetatakse algoritme ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM ja AES256-GCM). Rustls kasutab vaikimisi krüptopakkujat, mis põhineb aws-lc-rs teegil, mille arendab Amazon ning mis põhineb BoringSSLi C++ koodil, millele on lisatud Google'i koht OpenSSL-ist. Krüptopakkujana võib kasutada ka ring teeki, mis on osaliselt BoringSSL-i põhine ja ühendab kokku koodi assembleris, C++-s ja Rustis.
Tuleb märkida, et nginx-il on sisseehitatud tugi BoringSSL-i ehitamiseks, mis võimaldab kasutada seda teeki otse ilma liialdava vahekihtideta. Lisaks Rustls-i sisseehitatud toetusele aws-lc-rs ja ring teekidele, mis põhinevad BoringSSL-i koodil, arendatakse Rustls-ile ka mitmeid kolmandate osapoolte krüptopakkujaid, mis võimaldavad kasutada mbedtls (C keeles), BoringSSL (C++) ja RustCrypto (Rust) teeke.
Allikas: opennet.ru
