Il peut parfois être nécessaire de algorithme de signature modifier ultérieurement une hiérarchie d'autorités de certification déjà installée.
C'est souvent le cas lorsque ces derniers ont été installés avec PKCS#1 version 2.1 et que l'on constate malheureusement par la suite que toutes les applications ne sont pas compatibles avec les certificats qui en résultent et ne peuvent donc pas utiliser la hiérarchie.
S'il est encore relativement facile de modifier a posteriori l'algorithme de signature pour les certificats délivrés par une autorité de certification, cela s'avère plus difficile pour les certificats des autorités de certification.
Les procédures suivantes s'offrent à vous pour modifier ultérieurement l'algorithme de signature de la hiérarchie des autorités de certification :
| Méthode | Description |
|---|---|
| Réinstallation de la hiérarchie des autorités de certification. | C'est la plus „sûre“ de toutes les options, car elle garantit l'absence de charges héritées, mais c'est aussi celle qui demande le plus d'efforts. De plus, de nouvelles paires de clés doivent être générées. |
| Changement de l'algorithme de signature sur toutes les autorités de certification et renouvellement de tous les certificats. | Dans ce cas, tous les certificats doivent être renouvelés, en commençant par l'autorité de certification de base. |
| Changement de l'algorithme de signature sur toutes les autorités de certification et re-signature des certificats existants | Dans ce cas, les certificats d'autorité de certification ne sont pas renouvelés, mais les certificats actuels reçoivent simplement une nouvelle signature. |
Détails : changement de l'algorithme de signature sur toutes les autorités de certification et re-signature des certificats existants
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.
La procédure suivante est très complexe et peut, si elle est mal appliquée, rendre la hiérarchie des autorités de certification inutilisable. C'est pourquoi il convient de donner la préférence à l'une des deux méthodes mentionnées précédemment, dans la mesure du possible.
Les étapes suivantes doivent être répétées pour toutes les autorités de certification de la hiérarchie, en commençant par l'autorité de certification racine.
Dans l'exemple suivant, l'algorithme de signature d'une hiérarchie d'autorités de certification est modifié de PKCS#1 version 2.1 à PKCS#1 version 1.5. Toutefois, le processus fonctionne également dans l'autre sens si les commandes utilisées sont adaptées en conséquence.
La procédure se divise en sous-étapes comme suit :
- Créer une sauvegarde (backup) de l'autorité de certification.
- Arrêter le service d'autorité de certification.
- Modifier l'algorithme de signature dans le registre.
- Modifier l'algorithme de signature dans le fichier capolicy.inf.
- Exporter le certificat d'autorité de certification précédent dans un fichier.
- Signer à nouveau le certificat d'autorité de certification en utilisant l'algorithme de signature souhaité.
- Remplacement du certificat d'autorité de certification par la version nouvellement signée.
- Rétablir le lien entre le certificat d'autorité de certification et la clé privée.
- Adapter la configuration de l'autorité de certification afin d'utiliser le certificat d'autorité de certification nouvellement signé.
- Démarrer le service d'autorité de certification.
- Émettre une nouvelle liste de révocation de certificats.
- Mettre à jour les points de distribution de la liste de blocage et l'accès aux informations sur les postes.
- Assurer la distribution du nouveau certificat d'autorité de certification racine.
Création d'une sauvegarde (backup) de l'autorité de certification
Avant d'apporter des modifications à l'autorité de certification, il convient dans tous les cas de procéder à une sauvegarde de l'état actuel. La procédure de création d'une sauvegarde de l'autorité de certification est décrite dans l'article „Créer une sauvegarde (backup) d'une autorité de certification" décrit.
Arrêter le service d'autorité de certification
Pour pouvoir effectuer la modification, le service d'autorité de certification doit être arrêté. Cela peut se faire à l'aide de la commande de ligne de commande suivante :
net stop certsvc
Modification de l'algorithme de signature dans le registre
La commande de ligne de commande suivante modifie l'algorithme de signature des certificats émis par l'autorité de certification en PKCS#1 version 1.5 :
certutil -delreg CA\CSP\AlternateSignatureAlgorithm

Modification de l'algorithme de signature dans capolicy.inf
Lors de l'installation d'une autorité de certification, l'algorithme de signature est généralement configuré via le fichier de configuration dans le répertoire Windows. Ce fichier doit être adapté dans tous les cas. Dans le cas des autorités de certification racines, cette directive est également utilisée pour le renouvellement du propre certificat de l'autorité de certification, de sorte que le fait de ne pas l'adapter entraînera des erreurs consécutives.
Le fichier capolicy.inf se trouve dans le répertoire Windows (généralement C:\Windows).
La valeur „AlternateSignatureAlgorithm=1“ doit être modifiée en „AlternateSignatureAlgorithm=0“.

Exportation de l'ancien certificat d'autorité de certification dans un fichier
Ensuite, le certificat actuel de l'autorité de certification doit être signé à nouveau. Pour cela, il doit être disponible sous forme de fichier. Il est donc exporté depuis le magasin de certificats local. Cette opération s'effectue via la console de gestion des certificats dans le magasin de certificats de l'ordinateur (certlm.msc).

Le certificat est exporté via l'option „All Tasks“ - „Export“ du menu contextuel.

La clé privée n'est pas encore nécessaire à ce stade, il n'est donc pas nécessaire de l'exporter en même temps.

Le format de fichier utilisé n'est finalement pas déterminant. La présélection par défaut peut être conservée.

Le certificat doit maintenant être exporté vers un endroit à partir duquel il peut être utilisé pour une nouvelle signature.

Nouvelle signature du certificat d'autorité de certification en utilisant l'algorithme de signature souhaité
Le certificat est alors re-signé en utilisant la clé de signature correspondante.
| Certificat | certificat de signature correspondant |
|---|---|
| Autorité de certification racine | Le propre certificat d'autorité de certification |
| Autorité de certification subordonnée | Le certificat d'autorité de certification de l'autorité de certification supérieure respective |
Pour passer de PKCS#1 version 2.1 à PKCS#1 version 1.5, la commande de ligne de commande suivante est utilisée :
certutil -sign {Zertifikat-Alt} {Zertifikat-Neu} -AlternateSignatureAlgorithm
Pour passer de PKCS#1 version 1.5 à PKCS#1 version 2.1, la commande de ligne de commande suivante est utilisée :
certutil -sign {Zertifikat-Alt} {Zertifikat-Neu} +AlternateSignatureAlgorithm
On est invité à choisir le certificat de signature.

Si le certificat de signature correct a été utilisé, le succès correspondant s'affiche.

Si l'on compare l'ancien certificat avec le nouveau, on devrait constater que le numéro de série des deux certificats est identique, mais que l'algorithme de signature diffère comme indiqué.


Remplacement du certificat d'autorité de certification par la version nouvellement signée
Le certificat d'autorité de certification précédent est maintenant supprimé de la liste des certificats et remplacé par le nouveau certificat.
La clé privée du certificat est conservée lors de la suppression, il n'y a pas lieu de s'inquiéter.
La console de gestion des certificats du magasin de certificats de l'ordinateur (certlm.msc) permet de supprimer le certificat.

Ensuite, le nouveau certificat d'autorité de certification est importé dans le même magasin de certificats („Local Computer“ - „Personal“ - „Certificates“).


Le réglage par défaut („Personnel“) s'applique.

Sur une autorité de certification racine, le certificat doit également être échangé de la même manière dans le magasin „Trusted Root Certification Authorities“.
Rétablissement du lien entre le certificat d'autorité de certification et la clé privée

Après l'importation du nouveau certificat d'autorité de certification, on remarque qu'il ne dispose soi-disant pas de la clé privée.

La clé privée existe toujours, mais elle n'est pas encore associée au nouveau certificat.
Si une clé logicielle est utilisée, il suffit d'exécuter la commande avec un compte d'utilisateur disposant des droits d'administrateur local sur l'autorité de certification. Si un module de sécurité matériel (HSM) est utilisé, il peut être nécessaire d'exécuter la commande dans le contexte du compte SYSTEM local, ce qui peut être réalisé par exemple avec psexec ou une tâche planifiée.
La commande de ligne de commande suivante permet d'établir la connexion entre le nouveau certificat et la clé privée existante :
certutil -repairstore My {Thumbprint-neues-Zertifikat}

La clé privée devrait ensuite s'afficher.


Adapter la configuration de l'autorité de certification afin d'utiliser le certificat d'autorité de certification nouvellement signé
Maintenant que le nouveau certificat d'autorité de certification a été importé avec succès et qu'il est à nouveau associé à la clé privée, l'autorité de certification doit être informée de la modification. Pour ce faire, la valeur CACertHash, qui se trouve dans le chemin de registre suivant, est traitée :
HKLM\System\CurrentControlSet\Services\CertSvc\Configuration\{Common-Name-der-Zertifizierungsstelle}

Le thumbprint du précédent certificat d'autorité de certification est remplacé par celui du nouveau signé. Veuillez noter que les espaces sont conservés.

Si le service d'autorité de certification ne démarre pas maintenant, voir l'article „Le service d'autorité de certification ne démarre pas et affiche le message d'erreur „The parameter is incorrect. 0x80070057 (WIN32 : 87 ERROR_INVALID_PARAMETER)„ .
Démarrer le service d'autorité de certification
Le service d'autorité de certification peut maintenant être démarré. Par exemple, avec la commande de ligne de commande suivante :
net start certsvc
Retouches
Les travaux de finition suivants doivent encore être effectués :
- Émission d'une nouvelle liste de révocation de certificats. Voir l'article „Création et publication d'une liste de révocation de certificats„ .
- Mettre à jour les points de distribution de la liste de révocation et l'accès aux informations sur les organismes. Le nouveau certificat d'autorité de certification et la liste de révocation nouvellement générée doivent être copiés vers les points de distribution de la liste de révocation. Ils remplacent les fichiers existants.
- Assurer la distribution du nouveau certificat d'autorité de certification racine. Le nouveau certificat d'autorité de certification racine doit être porté à la connaissance des participants et l'état de confiance doit être établi. La distribution du certificat d'autorité de certification racine peut se faire via le conteneur de services à clé publique dans Active Directory ou via des stratégies de groupe. Il remplace le certificat d'autorité de certification racine publié précédemment.
Liens complémentaires :
- Bases : algorithmes de clés, algorithmes de signature et algorithmes de hachage de signature
- Utiliser PKCS#1 version 2.1 pour une autorité de certification racine (certificats propres et émis)
- Configurer PKCS#1 version 2.1 pour les certificats émis et les listes de révocation d'une autorité de certification
Les commentaires sont fermés.