Révocation de certificat OPM
Un certificat de sortie Protection Manager (OPM) 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 . |
| Core | Contient les listes de révocation suivantes :
|
| Entrées extensibles | Contient des informations utilisées par d’autres composants. Cette section ne concerne pas OPM. |
| Renouvellements | contient des guid qui définissent des identificateurs de 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 d' _ en-tête GRL . Le membre dwSequenceNumber 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 de révocation des certificats de la section principale. Chaque entrée de cœur dans le 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 le GRL n’a pas été falsifié. Chaque section de signature contient la structure de _ signature am MF . La première signature signe l’en-tête plus la section principale. 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 :
- Recherche le début de la structure de _ signature MF . L’emplacement de la structure de _ signature MF est indiqué dans le membre cbSignatureCoreOffset de la structure d' _ en-tête GRL . L’emplacement est spécifié en tant que décalage en octets à partir du début du GRL.
- Analyser la structure de _ signature MF 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 a l’identificateur d’objet suivant dans l’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.