Mettre à jour des certificats sur une machine Windows non connectée

Il y a plusieurs semaines, j’ai rencontré un problème original dans mon travail quotidien. Ayant à effectuer des modifications sur du code en .NET servant d’intermédiaire entre deux composants, j’avais besoin de connaître les données en entrée et en sortie d’une partie du programme. Petite subtilité, avec l’interconnexion des composants, il me semblait plus aisé d’utiliser le débogage à distance du code.

Premier problème, les outils de débogage déjà installés sur la machine ne sont pas compatibles avec ma version de Visual Studio. Je me rends donc sur la page des téléchargements pour Visual Studio afin de récupérer l’exécutable « Remote Tools for Visual Studio 2015 Update 3 ». Celui est dissimulé dans le tableau en milieu de page, après avoir déplié la catégorie « Tools for Visual Studio 2015 », on accède au téléchargement des « Outils de contrôle à distance de Visual Studio 2015 Update 3 ».

Transfert de l’exécutable sur la machine serveur concernée, exécution. Après quelques minutes d’attentes, une erreur apparaît, les certificats présents sur la machine ne permettent pas de vérifier et valider l’installation. Je vérifie les paramètres réseau du serveur, pas de chance, connexion au réseau local seulement, pas de possibilité de mettre à jour les certificats via internet.

Après quelques recherches, je tombe sur cette procédure de la documentation Microsoft, et pour une fois, celle-ci me semble plutôt complète. L’idée : récupérer les certificats de mon poste de développement et les importer sur la machine serveur. Voici la procédure que j’ai suivie (extrait de la doc).

Dans une console en mode administrateur :

Certutil -generateSSTFromWU WURoots.sst
start explorer.exe wuroots.sst

Le gestionnaire de certificats de la machine s’ouvre.

  • Dans le volet de navigation du gestionnaire, développer le chemin d’accès au fichier sous Certificats – Utilisateur actuel jusqu’à ce que Certificats s’affiche, puis cliquer sur Certificats.
  • Dans le volet d’informations, les certificats de confiance s’affichent. Maintenir la touche CTRL enfoncée et cliquer sur chacun des certificats à autoriser. Une fois la sélection des certificats à autoriser terminée, clic droit sur l’un des certificats sélectionnés, cliquer sur Toutes les tâches, puis sur Exporter.
  • Dans l’Assistant Exportation du certificat, cliquer sur Suivant.
  • Dans la page Format du fichier d’exportation, sélectionner Magasin de certificats sérialisés Microsoft (.SST), puis cliquer sur Suivant.
  • Dans la page Fichier à exporter, entrer un chemin d’accès au fichier et un nom approprié pour le fichier, par exemple C:\AllowedCerts.sst, puis cliquer sur Suivant. Cliquer sur Terminer. Cliquez sur OK après avoir été informé de la réussite de l’exportation.

Après avoir transféré notre fichier AllowedCerts.sst sur la machine cible, on peut s’intéresser à l’import des certificats.

Pour cela, il est nécessaire de se rendre dans le « Panneau de configuration » de la machine, puis « Option internet » et aller à l’onglet « Contenu » dans la fenêtre qui s’affiche. Enfin, cliquer sur le bouton « Certificats ».

Dans la fenêtre « Certificats » :

  • Cliquer sur le bouton « Importer ».
  • Choisir le fichier en modifiant la liste d’affichage par type de fichier vers .sst.
  • Choisir la sélection automatique du magasin de certificat selon le type de certificat.
  • Cliquer sur « Terminer ».
  • Valider (Oui) pour chaque certificat.

Pour finir, relancer l’installation des outils de contrôle à distance. Si les certificats de la première machine était bien à jour, l’installation devrait s’effectuer correctement. Il est toutefois dommage que le ou les certificats manquants à l’installeur ne soient pas clairement désignés, cela nous aurait permis de ne sélectionner que les certificats nécessaires et non d’intégrer sans distinction tous les certificats présents sur la machine source.