Que se passe-t-il si un utilisateur a demandé plusieurs certificats ?

J'ai récemment été confronté au phénomène suivant : en raison d'une logique de demande défectueuse, plusieurs utilisateurs avaient demandé de nouveaux certificats à intervalles réguliers.

Die Zertifikatvorlage war konfiguriert, eingehende Zertifikatanforderungen durch einen Zertifikatmanager freigeben zu lassen, d.h. es erfolgte keine automatische Ausstellung der Zertifikate. Die Zertifikatanforderungen sollten durch einen eigenen Code überprüft und anschließend freigegeben werden.

On pourrait s'attendre à ce que (puisque toutes les demandes de certificats sont finalement acceptées) les utilisateurs trouvent plusieurs certificats du même type dans leur liste de certificats (et dans les applications qui les utilisent). Or, ce n'est pas le cas.

Montage expérimental

Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.

Pour reproduire le scénario, un modèle de certificat a été créé et configuré pour nécessiter l'approbation d'un gestionnaire de certificats.

Par la suite, des demandes de certificats ont été déclenchées à plusieurs reprises.

(1..20) | ForEach-Object -Process {
certreq -q -enroll "ADCSLaborBenutzerTest"
}

Ceux-ci étaient désormais visibles dans le magasin local des demandes de certificats.

L'autorité de certification avait également accumulé les demandes de certificats et les avait approuvées manuellement.

L'appel des certificats a été effectué par le Tâche d'auto-enrôlement des utilisateurs. Une telle Stratégie de groupe avec paramètre "Renew expired certificates, update pending certificates, and remove revoked certificates" (renouveler les certificats expirés, mettre à jour les certificats en attente et supprimer les certificats révoqués) était aménagé.

certutil -pulse -user

D'abord la frayeur, toutes les demandes de certificats ont été récupérées et se sont retrouvées dans le magasin de certificats de l'utilisateur.

Cependant, après une nouvelle exécution de la tâche d'auto-enrollment de l'utilisateur, tous les certificats ont été archivés, sauf le plus récent, de sorte qu'il n'en restait qu'un.

L'option "Renew expired certificates, update pending certificates, and remove revoked certificates" est également responsable de cette situation.

La raison pour laquelle l'archivage n'a eu lieu que lors de la deuxième exécution de la tâche d'auto-enrollment de l'utilisateur est que ce n'est que lors de la deuxième exécution que tous les certificats récupérés étaient disponibles pour déterminer le plus récent.

Liens complémentaires :

fr_FRFrançais