rPGP - Une bibliothèque Rust pour l'implémentation d'OpenPGP

Image illustrant l'article : rPGP - Une bibliothèque Rust pour l'implémentation d'OpenPGP

rPGP - Une bibliothèque Rust pour l'implémentation d'OpenPGP

par Korben -

rPGP c’est un bibliothèque Rust qui va vous permettre de jouer avec OpenPGP comme des grands ! Plus besoin de vous taper des kilomètres de C pour avoir un bout de code qui chiffre trois mails bourrés de fautes. Maintenant, on a le droit à une implémentation 100% Rust, avec une API minimaliste mais qui fait le taf. Et en plus, c’est sous licence libre, donc on peut en faire ce qu’on veut !

Le top du top, c’est que rPGP gère tout ce qu’il faut pour être compatible avec Autocrypt 1.1. Si vous ne connaissez pas, c’est une spécification pour chiffrer les mails qui est censée être facile à utiliser pour monsieur et madame tout-le-monde.

Côté technique, rPGP est mis à jour régulièrement en tant que crate pgp (oui, ils ont pensé à nous, les flemmards qui ne veulent pas taper plus de trois lettres). Et pour la partie RSA, ça vit tranquillou sous le parapluie collectif RustCrypto. Et pour les petits malins qui voudraient se la jouer elliptique, pas de panique : le support ECC est assuré par la crate Curve25519-dalek. J’adore le nom :)

Bon, après, faut avouer que la doc de l’API est encore un peu légère mais si vraiment vous séchez, vous pouvez toujours ouvrir une issue sur GitHub. Les devs sont sympas, ils répondent (des fois).

D’ailleurs, rPGP s’est payé un petit audit de sécurité indépendant en 2019, réalisé par les gars d’IncludeSecurity et pas de failles critiques ! Bon, quelques trucs à corriger par ci par là, mais globalement, c’est du solide. Si vous voulez jeter un œil au rapport, c’est par ici.

Notez que rPGP est utilisé en prod par Delta Chat, l’app de messagerie basée sur les mails et ça tourne nickel sur Windows, Linux, macOS, Android et iOS, en 32 et 64 bits. Que demande le peuple ?

Et si vous êtes du genre à tout vouloir faire tourner dans votre navigateur (ou dans Node.js, on ne juge pas), rPGP a même pensé à vous avec une feature wasm ! Par contre, les bindings sont encore expérimentaux, mais tout se trouve dans le repo rpgp/rpgp-js.

Allez, je vous laisse, j’ai des messages secrets à chiffrer moi !