Un certificat est constitué d’une clé publique, d’informations d’identification et, éventuellement, d’un ou plusieurs certificats appartenant à l’autorité de certification émettrice.
Deux méthodes permettent d’établir la confiance d’un certificat. Vous pouvez établir la confiance en obtenant directement une copie du certificat auprès du signataire, par exemple sur un support physique, ou par l’intermédiaire d’une transmission numérique sécurisée, telle qu’une transaction SSL. Vous pouvez également vous appuyer sur une autorité de certification pour déterminer la fiabilité du certificat de signature.
Dans ce cas, le certificat de signature doit être publié par une autorité approuvée sur l’ordinateur sur lequel la signature est validée. La plupart des éditeurs de systèmes d’exploitation placent les certificats racine d’un certain nombre d’autorités de certification dans le magasin d’approbation du système. Les utilisateurs peuvent également ajouter et supprimer des certificats dans ce magasin.
Même si le certificat est publié par une autorité de certification approuvée, vous devez décider si le certificat appartient à une personne de confiance. Dans la plupart des cas, cette décision revient à l’utilisateur final. Par exemple, lors de l’installation d’une application AIR, le programme d’installation AIR affiche les informations d’identification du certificat de l’éditeur lorsqu’il invite l’utilisateur à indiquer s’il souhaite installer l’application. Dans d’autres cas, vous devrez peut-être comparer la clé publique ou d’autres informations de certificat à une liste de clés acceptables. (Cette liste doit être sécurisée, éventuellement par sa propre signature ou en étant stockée dans le magasin local chiffré d’AIR, de sorte que la liste elle-même ne puisse pas être altérée.)
Remarque :
bien que vous puissiez choisir d’approuver le certificat de signature sans vérification indépendante (par exemple lorsque une signature est « auto-signée »), la vérification de la signature n’est pas suffisamment rassurante dans ce cas. Si vous ne connaissez pas l’auteur de la signature, la certitude que la signature n’a pas été modifiée n’a que peu de valeur. La signature peut être une contrefaçon signée.
Expiration et révocation des certificats
Tous les certificats arrivent à expiration à un moment donné. Les certificats peuvent également être révoqués par l’autorité de certification émettrice si, par exemple, la clé privée associée au certificat a été compromise ou volée. Si une signature est signée avec un certificat arrivé à expiration ou révoqué, elle est désignée comme non valide sauf si un horodatage a été inclus dans la signature. En présence d’un horodatage, la classe XMLSignatureValidator valide la signature si le certificat était valide au moment de la signature.
Un horodatage est un message numérique signé provenant d’un service d’horodatage qui certifie que les données ont été signées à une heure et une date spécifiques. Les horodatages sont publiés par des autorités d’horodatage et signés par le propre certificat de ces autorités. Le certificat de l’autorité d’horodatage intégré à l’horodatage doit être approuvé sur l’ordinateur en cours pour que cet horodatage soit considéré comme valide. L’objet XMLSignatureValidator ne fournit pas d’API pour désigner un autre certificat à utiliser pour valider l’horodatage.