Table des matières

EJBCA - Création d'une autorité racine et intermédiaire

CréationNicolas THOREZ 2024/03/20 12:51

Dans cette procédure, nous allons mettre en place une autorité de certification racine et une autorité intermédiaire pour valider différents certificats utilisateurs et/ou serveurs sur notre infrastructure.

Réf. : EJBCA (RootCA en RSA)
Réf. : EJBCA (RootCA et SubCA en ECDSA)

Création des profils

Profil pour une autorité racine

Profil pour une autorité intermédiaire

Créations des clés

Maintenant que les profils sont prêts, il nous faut créer les clés privées nécessaires aux différentes autorités. La procédure suivante est donc à réaliser deux fois, une pour l'autorité racine et une pour l'autorité intermédiaire.

^Clé ^Protocole ^

SignKey ECDSA P-256 / prime256v1 / secp256r1
EncryptKey RSA 4096
TestKey ECDSA P-256 / prime256v1 / secp256r1

* Ce qui nous donne :

Création des autorités

Si les deux profils d'autorités et les deux jeux de clés sont prêt, on peut passer à la création des autorités de certifications.

Autorité racine

Autorité intermédiaire

Déploiement des certificats racine et intermédiaire sur les postes clients

Quels que soient les clients sur lesquels installer les certificats des autorités de certifications, il nous faut d'abord récupérer ces derniers. Pour cela, on peut les télécharger depuis la page de gestion (RA Web) dans le menu CA Certificates and CRLs en utilisant le bouton Download Certificate Bundle :

Windows par GPO

Linux via puppet

class install_ca {

  # Création du dossier de dépôt
  file {'/usr/share/ca-certificates/extra':
    ensure  => 'directory',
    owner   => 'root',
    group   => 'root',
    mode    => '0750',
  }
  
  # Déploiement du certification racine
  file {'/usr/share/ca-certificates/extra/RootCA.pem':
    ensure  => 'present',
    owner   => 'root',
    group   => 'root',
    mode    => '0644',
    content => file('file/RootCA.pem'),
  }
  
  # Déploiement du certificat intermédiaire
  file {'/usr/share/ca-certificates/extra/SubCA.pem':
    ensure  => 'present',
    owner   => 'root',
    group   => 'root',
    mode    => '0644',
    content => file('file/SubCA.pem'),
  }
  
  # Ajout du certificat racine dans la bibliothèque des certificats  
  file_line { 'RootCA':
    ensure  => present,
    match   => "^extra/RootCA.pem",
    path    => '/etc/ca-certificates.conf',
    line    => 'extra/RootCA.pem',
  }
  
  # Ajout du certificat intermédiaire dans la bibliothèque des certificats
  file_line { 'SubCA':
    ensure  => present,
    match   => "^extra/SubCA.pem",
    path    => '/etc/ca-certificates.conf',
    line    => 'extra/SubCA.pem',
  }
  
  # Mise à jour de la bibliothèque en cas de modification
  exec { 'update-ca-certificates':
    command   => '/usr/sbin/update-ca-certificates',
    subscribe => [ 
      File['/usr/share/ca-certificates/extra/RootCA.pem'], 
      File['/usr/share/ca-certificates/extra/SubCA.pem'], 
    ],
    refreshonly => true,
  }
}

Navigateurs

Sous Debian et Ubuntu, les navigateurs Firefox et Chrome utilisent leurs propres banques de certificats. Il faudra donc les importer manuellement.

Conclusion

Désormais, nous disposons d'une autorité de certification racine et d'une autorité intermédiaire fonctionnelles et toutes deux reconnues par les postes clients de l'organisation. L'étape suivante est de créer des certificats pour nos besoins.