Révocation de certificats OPM
Un certificat OPM (Output Protection Manager) peut être révoqué par Microsoft. La liste des certificats révoqués est stockée dans une liste de révocation globale (GRL). Le GRL a le format suivant :
Section | Description |
---|---|
En-tête | Structure GRL_HEADER. |
Noyau | Contient les listes de révocation suivantes :
|
Entrées extensibles | Contient des informations utilisées par d’autres composants. Cette section n’est pas pertinente pour OPM. |
Renouvellements: | Contient des GUID qui définissent des identificateurs Windows Update. Cette section contient des identificateurs pour les listes suivantes :
|
Signature : section Principale | Signe l’en-tête et les sections principales. |
Signature : section Extensible | Signe l’en-tête et les sections extensibles. |
L’en-tête GRL est une structure GRL_HEADER. Le dwSequenceNumber membre de la structure contient le numéro de version GRL. Ce nombre est incrémenté chaque fois que le GRL est mis à jour et qu’une nouvelle version est placée sur l’ordinateur de l’utilisateur.
Les certificats OPM révoqués sont répertoriés dans la liste des révocations de certificats de la section Core. Chaque entrée principale dans la bibliothèque GRL est un tableau de 20 octets qui contient le hachage SHA-1 de la clé publique du certificat révoqué.
Les sections Signature contiennent des signatures qui peuvent être utilisées pour vérifier que la liste grL n’a pas été falsifiée. Chaque section Signature contient MF_SIGNATURE structure. La première signature signe l’en-tête et la section Core. La deuxième signature signe l’en-tête plus la section Extensible ; cette signature n’est pas pertinente pour OPM.
Pour vous assurer que le GRL lui-même n’a pas été falsifié, vérifiez la signature comme suit :
- Recherchez le début de la structure MF_SIGNATURE. L’emplacement de la structure MF_SIGNATURE est donné dans le membre de la structure GRL_HEADER cbSignatureCoreOffset. L’emplacement est spécifié sous la forme d’un décalage en octets à partir du début du GRL.
- Analysez la structure MF_SIGNATURE en tant que signature PKCS #7 avec une chaîne de certificats.
- Vérifiez la chaîne de certificats jusqu’à une racine approuvée.
- Vérifiez que le certificat feuille contient l’identificateur d’objet suivant dans la référence EKU : « 1.3.6.1.4.1.311.10.5.4 ».
- Calculez un hachage des octets qui incluent l’en-tête et les sections principales du GRL.
- Vérifiez que le hachage correspond à la signature dans le certificat feuille.
Rubriques connexes