Enregistrer un certificat d’une AC Windows dans un Synology

Pour pouvoir utiliser, dans un environnement de domaine Windows, un certificat généré depuis l’autorité de certification du domaine, il faut plusieurs brique.

D’une part, un accès au serveur faisant office d’autorité de certification de racine pour le domaine.

D’autre part, il faut avoir le logiciel openssl (dans mon cas, je l’ai récupéré ici, il n’y a pas d’installation… Je n’ai pas besoins des sources ici.) sur son poste local afin de travailler les certificats générés par l’AC Windows et les rendre compatibles avec les Synology.

Génération du certificat

Commençons par générer le certificat. Le plus simple (mais ce n’est pas sans conséquence), est de passer par la console IIS Manager. Elle permet de générer le certificat et de fournir avec la clé privée qui est nécessaire à l’installation sur le Synology.
Le défaut de cette méthode est que le certificat ainsi généré sera signé seulement en SHA-1, et qu’il ne sera pas valide très longtemps (1er janvier 2017 pour la fin du support par Microsoft!).
Nous verrons plus tard comment adapter cette méthode pour générer des certificats signés en SHA-2 (ou SHA-256)…

Dans le gestionnaire IIS, naviguer au niveau du serveur, puis choisissez l’icône « Certificats de serveur ».
iis1_small

Dans les « Actions » à droite, vous pouvez alors « Créer un certificat de domaine… ».
iis2

On vous demande alors de renseigner un certains nombre d’informations :
Nom commun (le nom de domaine local du synology, du type synology.domaine.local)
Organisation
Unité d’organisation
Ville
Département/région
Pays
iis3

Une fois ces données renseignées, nous pouvons continuer. On nous demande alors de choisir l’autorité de certification, et de renseigner un « nom convivial ».
iis4

Le certificat est alors généré. Il faut ensuite exporter ce certificat, via l’option correcte dans le menu « Action » à droite, possible dès que le certificat est sélectionné.
iis5

Il faut alors renseigner les différents paramètres, au nombre de deux. L’emplacement du fichier pfx de sortie, et le mot de passe servant à sécuriser cela (puis la confirmation de celui-ci).
iis6

Nous obtenons alors le fichier pfx regroupant le certificat et sa clé privée. Il faut déplacer ce fichier afin d’y avoir accès sur son poste pour le reste des travaux.
Tant qu’on y est, on exporte le certificat publique de l’autorité de certification, qui sera nécessaire à l’installation sur le Synology du certificat fraichement généré. Pour cela, dans la même section dans le gestionnaire IIS, il faut « Afficher » le certificat que nous venons de générer.
iis7

Dans la fenêtre qui s’ouvre, il faut pointer sur l’onglet « Chemin d’accès de certification », qui permet de lister les autorités successives de notre certificat. Dans notre cas il n’y en a qu’une. Il faut la sélectionner, puis choisir « Afficher le certificat ».
iis9

Nous arrivons alors sur les détails du certificat de l’autorité de certification. Il faut ici pointer sur l’onglet « Détails ».
iis10

Dans cet onglet, nous pouvons enfin exporter ce certificat, via l’option « Copier dans un fichier »… ».
iis11

La suite concerne l’exportation classique de ce certificat d’autorité de certification…
iis12

iis13

iis14

iis15

iis16

Nous obtenons alors un fichier cer qui contient le certificat de notre autorité…

Conversion des certificats

Commence alors le travail pour convertir ces fichiers (pour rappel un fichier pfx au format PKCS12 comprenant le certificat que nous avons généré et sa clé privé, d’une part, et un fichier cer comprenant le certificat de l’autorité de certificat, encodé au format DER (et non PEM comme s’attend le Synology), d’autre part), dans un format intelligible par le Synology.

Comme dit en introduction, nous utilisons openssl pour effectuer les conversions.

Dans mon cas, je me repose sur un binaire unique sans installation, que j’ai décompressé dans un répertoire dédié. J’ai par ailleurs copié dans ce répertoire les fichiers pfx et cer que nous avons récupéré depuis l’autorité de certification.

Il faut alors ouvrir une ligne de commande dans ce répertoire.

Pour convertir le fichier pfx au format PKCS12 en fichiers PEM intelligibles par le Synology, le principe est de créer dans un premier temps un fichier ne comprenant que la partie certificat, puis dans un second temps un fichier comprenant que la clé privée (fichier que nous regénérons à nouveau afin de retirer sa protection).

Partie certificat Synology

openssl.exe pkcs12 -in certificat_origine.pfx -nokeys -out certificat_final.pem

On obtient alors en retour :

Enter Import Password:

Il faut entrer le mot de passe choisis lors de l’export depuis le gestionnaire IIS.
Un fois que c’est fais, nous obtenons :

MAC verified OK

Ainsi que le fichier certificat_final.pem.

Ce fichier n’est toutefois pas directement exploitable par le Synology, en effet un certain nombre de lignes parasites sont présentes en début de fichier.
Ouvrez ce fichier avec par exemple Notepad++, et supprimez tout ce qui ce trouve avant :

-----BEGIN CERTIFICATE-----

Le fichier doit obligatoirement commencer par cette ligne!

Partie clé privée

openssl.exe pkcs12 -in certificat_origine.pfx -nocerts -out key.pem

De même il faut entrer le mot de passe :

Enter Import Password:

On obtient alors le fichier contenant la clé ainsi que le message suivant :

MAC verified OK

Une dernière étape permet de « déprotéger » la clé privée, en effet nous ne pouvons pas indiquer au Synology le « passphrase » utilisé pour dévreouiller la clé privée…
La ligne suivante permet de faire cela :

openssl.exe rsa -in key.pem -out key_nopassphrase.pem

Partie certificat de l’autorité de certification

Cette partie est plus simple, il n’y a qu’une conversion du format DER exporté par Windows dans un format PEM plus classique :

openssl.exe x509 -inform der -in ac_cert_orig.cer -out ac_cert_new.crt

Installation sur le Synology

Le travail de préparation des certificats étant terminé, nous pouvons passer à l’installation à proprement parler.
Dans l’interface de gestion Synology, ouvrez le panneau de configuration, puis sélectionner « Sécurité ».
syno1

Aller ensuite dans l’onglet « Certificat ».
syno2

Vous pouvez ainsi voir les paramètres du certificat actuellement utilisé. Choisissez « Importer le certificat ».
syno3

Dans l’ordre, vous devez alimenter les champs en indiquant le fichier contenant la clé privée non protégée, puis le fichier contenant le certificat que nous avions généré pour le Synology, et enfin le fichier contenant le certificat de l’autorité de certification.
syno4

Une fois les paramètres validés, ils apparaissent dans les détails du certificats en place… 🙂

Laisser un commentaire