Retour aux mises à jour
New releaseSep 8, 2026

rustls v/0.23.44

Bibliothèque TLS à sûreté mémoire écrite en Rust, implémentant TLS 1.2 et 1.3 avec des fournisseurs cryptographiques enfichables, des modes client/serveur et une authentification par certificats.

Partager

Rustls est une bibliothèque TLS moderne écrite en Rust.

Statut

Rustls est utilisé en production dans de nombreuses organisations et projets. Nous visons à maintenir une stabilité raisonnable de la surface d'API, mais celle-ci peut évoluer à mesure que nous apportons des modifications pour accueillir de nouvelles fonctionnalités ou améliorations de performances.

Nous avons une feuille de route pour nos futurs projets. Nous disposons également de benchmarks pour prévenir les régressions de performances et vous permettre d'évaluer rustls sur votre matériel cible.

Si vous souhaitez contribuer, veuillez consulter CONTRIBUTING.md.

Build Status Coverage Status (codecov.io) Documentation Chat OpenSSF Best Practices

Les mainteneurs prononcent "rustls" comme rustles (plutôt que rust-TLS), mais nous n'avons pas d'opinion tranchée à ce sujet.

Journal des modifications

La liste détaillée des changements de chaque version est disponible à l'adresse https://github.com/rustls/rustls/releases.

Documentation

https://docs.rs/rustls/

Approche

Rustls est une bibliothèque TLS qui vise à offrir un bon niveau de sécurité cryptographique, ne nécessite aucune configuration pour atteindre cette sécurité et ne fournit par défaut aucune fonctionnalité unsafe ni cryptographie obsolète.

Rustls implémente TLS1.2 et TLS1.3 pour les clients comme pour les serveurs. Voir la liste complète des fonctionnalités du protocole.

Prise en charge des plateformes

Bien que Rustls soit indépendant de la plateforme, il nécessite l'utilisation de primitives cryptographiques pour implémenter les algorithmes cryptographiques utilisés dans TLS. Dans Rustls, un crypto::CryptoProvider représente un ensemble d'implémentations de primitives cryptographiques.

En fournissant une instance personnalisée de la structure crypto::CryptoProvider, vous pouvez remplacer toutes les dépendances cryptographiques de rustls. C'est une voie vers la portabilité sur un plus large éventail d'architectures et d'environnements, ou vers le respect d'exigences de conformité. Voir la documentation de crypto::CryptoProvider pour plus de détails.

Fournisseurs cryptographiques

Depuis Rustls 0.22, il est possible de choisir le fournisseur des primitives cryptographiques utilisées par Rustls. Cela peut être intéressant si vous avez des exigences spécifiques en matière de plateforme, de conformité ou de fonctionnalités.

Depuis la version 0.24, les utilisateurs doivent fournir explicitement un fournisseur cryptographique lors de la construction des instances ClientConfig ou ServerConfig. Voir la documentation de crypto::CryptoProvider pour plus de détails.

Fournisseurs de première partie

Le projet Rustls maintient actuellement deux fournisseurs cryptographiques :

  • rustls-aws-lc-rs - un fournisseur qui utilise la crate aws-lc-rs pour la cryptographie. Bien que ce fournisseur puisse être plus difficile à compiler sur certaines plateformes, il offre d'excellentes performances et un ensemble de fonctionnalités complet (y compris des algorithmes post-quantiques).
  • rustls-ring - un fournisseur qui utilise la crate ring pour la cryptographie. Ce fournisseur est plus facile à compiler sur diverses plateformes, mais son ensemble de fonctionnalités est plus limité (par exemple, il ne prend pas en charge les algorithmes post-quantiques).

L'équipe Rustls recommande d'utiliser la crate rustls-aws-lc-rs pour son ensemble de fonctionnalités complet et ses performances. Voir la FAQ aws-lc-rs pour plus de détails sur les contraintes de prise en charge des plateformes/architectures dans aws-lc-rs.

Voir la documentation de crypto::CryptoProvider pour plus de détails sur la façon dont les fournisseurs sont sélectionnés.

(Pour les versions de rustls antérieures à 0.24, ces deux fournisseurs étaient inclus dans la crate rustls, et des fonctionnalités Cargo étaient utilisées pour sélectionner le fournisseur préféré. La fonctionnalité aws-lc-rs était activée par défaut.)

Fournisseurs tiers

La communauté a également commencé à développer des fournisseurs tiers pour Rustls :

Voir la section Création d'un CryptoProvider personnalisé de la documentation pour plus d'informations sur ce sujet.

Exemples de code

Catégories