Signed Receipts Technical Documentation/fr : Différence entre versions
(Page créée avec « > Documentation > Trustedbird > Accusés de réception signés > [[Signed Receipts Technical Documentation/fr|D… ») |
|||
Ligne 1 : | Ligne 1 : | ||
+ | {{lang|Signed Receipts Technical Documentation|Signed Receipts Technical Documentation/fr}} |
||
> [[Documentation/fr|Documentation]] > [[Trustedbird/fr|Trustedbird]] > [[Signed_Receipts/fr|Accusés de réception signés]] > [[Signed Receipts Technical Documentation/fr|Documentation technique]] |
> [[Documentation/fr|Documentation]] > [[Trustedbird/fr|Trustedbird]] > [[Signed_Receipts/fr|Accusés de réception signés]] > [[Signed Receipts Technical Documentation/fr|Documentation technique]] |
||
Version actuelle en date du 2 septembre 2010 à 16:55
> Documentation > Trustedbird > Accusés de réception signés > Documentation technique
Sommaire
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 :
- http://fr.wikipedia.org/wiki/Multipurpose_Internet_Mail_Extensions
- http://tools.ietf.org/html/rfc1847
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'implémentation de cette RFC consiste principalement à ajouter des attributs dans les éléments de signature d'un message. Un mail avec demande d'accusé de réception signé doit forcément être un mail signé. Lors de la réception, ces mêmes attributs sont lus pour déterminer s'il est nécessaire de signer l'accusé de réception.
L'intégration de cette fonctionnalité est en cours par Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=386313
Les fichiers d'IHM
Pour envoyer un message avec une demande d'accusé de réception signé, il est obligatoire de signer le message. La notion d'accusé de réception signé est donc fortement lié aux fonctionnalités de sécurité. Au niveau de l'IHM, la gestion de la signature est actuellement implémentée par l'utilisation d'un flag signMessage, stocké dans un objet nsIMsgSMIMECompFields. L'ensemble du code gérant le positionnement de ce flag et l'interaction avec l'IHM est contenu dans le fichier JS msgCompSMIMEOverlay.js.
L'objet nsIMsgSMIMECompFields est ensuite fourni au service XPCOM d'envoi de message, qui se charge de la signature en fonction de ce flag. Cette classe a donc été complétée pour pouvoir stocker la demande d'accusé signé. Il a également été nécessaire de compléter l'IHM afin que l'utilisateur puisse choisir cette option.
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 à ajouter des attributs dans les éléments de signature d'un message.
Lors de l'envoi d'un mail, l'API Thunderbird standard construit la structure de données suivante:
Les attributs à ajouter se situent au niveau de la structure NSSCMSSignerInfo et sont de type NSSCMSAttribute.
Une structure NSSCMSAttribute est définie de la façon suivante:
L'attribut à ajouter un est receiptRequest dont la structure est définie par la RFC 2634.
Réception d'un message
Lors de la réception d'un message avec demande d'accusé signé, la structure précédente est décodée et un accusé signé est généré.