Triple Wrapping Technical Documentation/fr

De Trustedbird Client Wiki

> Documentation > Trustedbird > Triple enveloppe > Documentation technique


Implémentation

Normes

La norme de référence pour l'implémentation de cette fonctionnalité est la RFC 2634

Pour avoir plus d'information sur les notions d'enveloppe, de signature et de chiffrement, vous pouvez vous référer aux documents suivants:


Architecture

Présentation synthétique de l'architecture de l'extension

Cette fonctionnalité fait partie des travaux en cours de la fondation Mozilla: http://www.mozilla.org/projects/security/pki/nss/smime/. Elle est donc intégrée directement au code source de Thunderbird sans passer par une extension. De plus, ceci facilite l'ajout de cette fonctionnalité, car il est nécessaire d'intervenir au coeur du produit Thunderbird.

L'intégration de cette fonctionnalité est en cours par Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=380624

Les fichiers d'IHM

Au niveau de l'IHM, la gestion de la signature et du chiffrement est en standard implémentée par l'utilisation de deux flags signMessage et requireEncryptMessage, stockés dans un objet nsIMsgSMIMECompFields. L'ensemble du code gérant le positionnement de ces flags et l'interaction avec l'IHM est contenu dans la librairie JS standard msgCompSMIMEOverlay.js.

L'objet nsIMsgSMIMECompFields est ensuite fourni au service XPCOM d'envoi de message, qui se charge de la signature et du chiffrement en fonction de ces deux flags. Cette classe a donc été complétée pour pouvoir stocker la demande de triple enveloppe. Il a également été nécessaire de compléter l'IHM afin que l'utilisateur puisse choisir ce mode de sécurité.


TripleWrapping Options1 fr.gif

ou

TripleWrapping Options2 fr.gif

TripleWrapping Options3 fr.gif

TripleWrapping Icon fr.gif

Les fichiers XPCOM

Envoi d'un message

L'essentiel de l'implémentation de cette fonctionnalité se situe dans le fichier nsMsgComposeSecure.cpp au niveau de la classe nsMsgComposeSecure. Cette implémentation consiste principalement à gérer le cas triple enveloppe et à appeler les fonctions existantes pour signer, puis crypter, puis signer un message.

Réception d'un message

En mode réception, l'implémentation standard est capable de gérer le mode triple enveloppe: la librairie de lecture du format MIME utilise un algorithme récursif et est donc capable de lire un contenu enveloppé plusieurs fois.