Création d'un certificat pour un client Windows

On génère en premier lieu un certificat standard.
Windows nécessite de convertir les deux fichiers .pem et .key en un fichier .p12
openssl pkcs12 -export -in winHost.zoidberg.ecranbleu.org.pem 
    -inkey winHost.zoidberg.ecranbleu.org.key  
    -certfile /etc/ipsec.d/cacerts/cacert.pem 
    -out winHost.zoidberg.ecranbleu.org.com.p12

La machine Windows doit posséder ce fichier .p12 et le certificat de l'autorité de certification du serveur.

Le certificat utilisé pour IPSec est associé à l'ordinateur et non pas à l'utilisateur comme on aurait pu l'imaginer. Windows possède 3 catégories de magasins de certificats qui correspondent aux 3 comptes suivants :

Par ailleurs le magasin peut correspondre à un magasin physique (carte à puce ou token USB) ou logique (rangé dans le registre). Cependant seul un utilisateur peut avoir un magasin physique. En outre il n'est pas possible de protéger par un mot de passe la clé privée associée au certificat de l'ordinateur car le processus doit pouvoir s'exécuter sans intervention humaine (il n'a pas de fenêtre pour demander un code).

La clé privée et les certificats doivent être importés à l'aide de la MMC (Microsoft Management Console).

On utilisera, pour gérer les politiques de sécurité, un outil recommandé sur le site Freeswan (ipsec.exe). Celui-ci permet, associé à un fichier de configuration de spécifier les connexions possibles.

conn road
  left=%any
  leftsubnet=81.51.226.209
  right=81.255.82.6
  rightsubnet=192.168.10.0/24
  rightca="C=FR,S=France,L=Creteil,O=Miage, CN=zoidberg.ecranbleu.org,email=sylvestre"
  network=auto
  auto=start
  pfs=yes

La syntaxe est très proche du langage de description du fichier de configuration /etc/ipsec.conf du serveur Linux.

root 2004-05-04