Security Labels Technical Documentation/fr : Différence entre versions
(Page créée avec « > Documentation > Trustedbird > Libellés de Sécurité > [[Security Labels Technical Documentation/fr|Document… ») |
|||
Ligne 1 : | Ligne 1 : | ||
+ | {{lang|Security Labels Technical Documentation|Security Labels Technical Documentation/fr}} |
||
> [[Documentation/fr|Documentation]] > [[Trustedbird/fr|Trustedbird]] > [[Security_Labels/fr|Libellés de Sécurité]] > [[Security Labels Technical Documentation/fr|Documentation technique]] |
> [[Documentation/fr|Documentation]] > [[Trustedbird/fr|Trustedbird]] > [[Security_Labels/fr|Libellés de Sécurité]] > [[Security Labels Technical Documentation/fr|Documentation technique]] |
||
Version actuelle en date du 2 septembre 2010 à 16:58
> Documentation > Trustedbird > Libellés de Sécurité > Documentation technique
Sommaire
Implémentation
Normes
La norme de référence pour l'implémentation de cette fonctionnalité est la RFC 2634
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 Security label doit forcément être un mail signé. Lors de la réception, ces mêmes attributs sont lus pour déterminer les autorisations et droits d'accès.
Les fichiers d'IHM
Pour envoyer un message avec Security label, il est obligatoire de signer le message. La notion d'accusé de Security label est donc fortement liée 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 de Security label. Il a également été nécessaire de compléter l'IHM afin que l'utilisateur puisse choisir le Security label.
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 est securityLabel dont la structure est définie par la RFC 2634.
Réception d'un message
Lors de la réception d'un message avec Security label, la structure précédente est décodée.