EJBCA ou Enterprise JavaBeans Certificate Authority est une solution logicielle de PKI – ou IGC, Infrastructure de gestion de clés – libre https://www.ejbca.org/license/ et gratuite, développée et distribuée par l’entreprise suédoise PrimeKey Solutions https://www.primekey.com/ AB, devenue une filiale de Keyfactor https://www.keyfactor.com/fr/ Inc. Le projet EJBCA est développé selon les méthodes du logiciel libre et open source, et dont le code source est disponible selon les termes de la licence GNU Lesser General Public License (LGPL).
EJBCA permet la mise en œuvre d’une plate-forme d’IGC composée d’une autorité de certification (AC), d’une autorité d’enregistrement (AE) et d’une (AV) privées ou publiques. Le logiciel EJBCA est basé sur la librairie CESeCore https://www.ssi.gouv.fr/administration/certification_cc/cesecore-version-1-1-2/ Librairie CESeCore sur le site de l’ANSSI, qui s’appuie elle-même sur l’API (Interface de programmation) cryptographique .
EJBCA est utilisée par plusieurs gouvernements, notamment de l’Union européenne, pour leur sécurité interne, et l’émission de passeports électroniques et de cartes d’identité électroniques https://joinup.ec.europa.eu/collection/eidentity-and-esignature/solution/ejbca/about EJBCA on the Joinup platform of the European Commission. Les entreprises privées utilisent également EJBCA, et sont intéressées par les nouvelles fonctionnalités (2023) telles que les algorithmes post-quantiques et la sécurisation de l’Internet des objets https://www.iot-now.com/2023/06/29/132157-keyfactor-launches-ejbca-8-0-and-signserver-6-0-enhanced-iot-security/ Article about EJBCA, the post-quantum readiness, and Internet of Things (IoT) security, on IoT Now.
Fonctionnalités
EJBCA fournit les principales fonctionnalités https://docs.keyfactor.com/ejbca/latest/ejbca-concepts d’une infrastructure de gestion de clés, telles qu’une autorité de certification (AC), une autorité d’enregistrement (AE) et une (AV). Ces fonctionnalités peuvent être déployées ensemble ou séparément, sous la forme de modules désignés par leur sigle anglophone : CA (pour les autorités de certification), RA (pour les autorités d’enregistrement) et VA (pour les autorités de validation).
Fonctionnalités d’autorité de certification
La mise en œuvre d’un seul module CA () permet de gérer plusieurs autorités de certification qui peuvent être organisées de façon hiérarchique et sur plusieurs niveaux de subordination. Ainsi, il est possible de créer des AC racines (dont le certificat est auto-signé) et des AC subordonnées (dont le certificat est signé par une autre AC). EJBCA permet également de générer plusieurs types d’AC : X.509, CVC https://docs.keyfactor.com/ejbca/latest/cvc-ca Card Verifiable Certificates (CVC) CA, SSH CA https://docs.keyfactor.com/ejbca/latest/ssh-ca SSH (Secure Shell) CA, ITS ECA https://docs.keyfactor.com/ejbca/latest/c-its-eca-overview C-ITS (Cooperative Intelligent Transport Systems) PKI architecture and concepts, and Enrollment Certification Authority (ECA) (), AC hybride https://docs.keyfactor.com/ejbca/latest/hybrid-ca Hybrid CA.
Fonctionnalités d’autorité d’enregistrement
Le module RA () permet de mettre en œuvre les principales fonctionnalités d’une autorité d’enregistrement, c’est-à-dire la gestion des clés et la gestion des certificats. Ainsi, il est possible de créer des clés cryptographiques, de les renouveler, de les mettre en séquestre et de vérifier leur validité du point de vue cryptographique. Les certificats peuvent être émis en mode centralisé (dans ce cas, les clés sont générées par la PKI elle-même) ou en mode décentralisé (dans ce cas, les clés sont générées par le demandeur qui peut être une personne physique ou un client logiciel).
Rôles et opérations
Une PKI EJBCA est gérée par des personnes pouvant avoir un des principaux types de rôle suivants : administrateur PKI, officier d’enregistrement, officier de révocation et auditeur. Un administrateur PKI configure les autorités de certification, les profils de certificats (i.e. gabarit technique d’un certificat), les services et les protocoles. Un officier d’enregistrement vérifie l’identité du futur titulaire du certificat, puis procède à son enregistrement. Un officier de révocation peut révoquer un certificat sur demande soit de l’abonné soit de l’autorité de certification. Un auditeur peut consulter tout le paramétrage de la PKI, ainsi que les journaux d’audit, en lecture seule. Des rôles personnalisés peuvent être définis selon un type de rôle choisi, selon des autorités de certification données et selon des profils de certificats donnés.
Services et interfaces
Pour faciliter la gestion de la PKI et des certificats, EJBCA propose de nombreux services tels que : un service de génération de CRL (), un service de validation de certificats selon le protocole OCSP (Online Certificate Status Protocol), un service de publication LDAP (pour publier les CRL et les certificats), un service de notification par courriel (afin par exemple d’avertir l’abonné de l’expiration proche d’un certificat dont il est titulaire ou responsable), un service de journalisation, etc. Le protocole OCSP est mis en œuvre dans le module VA ().
La PKI EJBCA peut être gérée et configurée selon plusieurs interfaces, dont voici les plus courantes : interface web, Web Service (SOAP, REST), protocole SCEP (), protocole ACME () ou interface en ligne de commande (CLI).
Les interfaces web d’EJBCA existent en plusieurs langues : allemand, anglais, français, japonais, tchèque, vietnamien (pour l’interface d’administration)L’interface d’administration web supporte de façon très incomplète les langues suivantes : bosniaque, chinois, portugais, suédois, ukrainien. ; et allemand, anglais, suédois, vietnamien (pour l’interface de l’autorité d’enregistrement).
Architectures et intégration
EJBCA supporte toutes les architectures PKI courantes https://docs.keyfactor.com/ejbca/latest/ejbca-architecture, ainsi que la plupart des HSM (, module de sécurité matériel) du marché via l’API standard .
Caractéristiques
Primitives cryptographiques
Algorithmes asymétriques PQC : ML-DSA (, FIPS 204), ML-KEM (, FIPS 203), SLH-DSA (, FIPS 205), (FN-DSA en cours de standardisation NIST FIPS 206 pour 2025), LMS (), XMSS () ECC : plus de 50 courbes, dont les courbes du NIST (P-224, P-256, P-384, P-521), les courbes Brainpool, la courbe française FRP256v1 https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000024668816 Legifrance, JORF n° 0241 du 16 octobre 2011 page 17533, texte n° 30, “FRP256v1”, les courbes Curve25519 et (depuis EJBCA 7.4.0) RSA : 1024, 1536, 2048, 3072, 4096, 6144, 8192 bits Anciens algorithmes : DSA 1024 bits (supprimé depuis EJBCA 8.3.0)
Fonctions de hachage SHA-1 SHA-2 : SHA-224, SHA-256, SHA-384, SHA-512 SHA-3 : SHA3-256, SHA3-384, SHA3-512 Anciens algorithmes : GOST3411 (supprimé depuis EJBCA 9.1.1)
Protocoles et standards Certificats X.509 v3 et liste de révocation de certificats (CRL en anglais) v2 () Certificats CVC (Card Verifiable Certificate) pour les passeports électroniques (ICAO, Doc 9303 – (MRTD)) Certificats SSH (X.509v3 Certificates for Secure Shell Authentication, ) Certificats qualifiés (ETSI eIDAS et ) OCSP (Online Certificate Status Protocol, protocole de validation, ) SCP (Secure Copy Protocol, protocole de copie sécurisée), pour publier les CRL et les certificats d’AC CMP (, protocole de gestion de certificats, ) EST (, protocole d’enrôlement de certificats, ) SCEP (Simple Certificate Enrollment Protocol, protocole d’enrôlement de certificats, Draft IETF) ACME (Automatic Certificate Management Environment, protocole d’enrôlement de certificats serveurs (comme Let’s Encrypt), ) PKCS (Public Key Cryptographic Standards) : PKCS #1, PKCS #7, PKCS #9, PKCS #10, PKCS #11, PKCS #12 CT Logs ( https://www.certificate-transparency.org/, protocole de publication de certificats serveurs TLS, ) CAA (DNS Certification Authority Authorization, type d’enregistrement de ressource DNS pour autoriser les AC, ) CMS (, ) CRMF (, ) LDAP v3 (Lightweight Directory Access Protocol, ) Protocole 3GPP (i.e. LTE/4G) pour les périphériques mobiles, via le protocole CMP (Certificate Management Protocol) PSD2 (Revised Payment Service Directive), conformité complète à la Directive sur les services de paiement 2 (DSP 2) C-ITS (Cooperative Intelligent Transport Systems), AE (autorité d’enrôlement) et sécurité V2X (Vehicle-to-anything communication) Matter, standard de connectivité pour la domotique et l’Internet des objets (IoT)
Support applicatif et matériel Serveurs d’applications : WildFly (version communautaire), JBoss EAP (avec support Red Hat) Systèmes d’exploitation : GNU/Linux, Unix, FreeBSD, Solaris, Windows Bases de données : PostgreSQL, MariaDB, MySQL, Oracle DB, IBM DB2, MS-SQL, Hypersoniq, Derby, Sybase, Informix, Ingres Annuaires LDAP : OpenLDAP, Active Directory, LDAPv3, Sun Directory Server Modules HSM https://docs.keyfactor.com/ejbca/latest/hardware-security-modules-hsm Vendor Specific Information (liste des modules HSM supportés par EJBCA) : nCipher netHSM, nCipher nShield, SafeNet Luna Network HSM7, SafeNet Luna SA, SafeNet Luna PCI, SafeNet ProtectServer Gold, Thales Trusted Cyber Technologies (TCT) Luna SA, Atos Trustway Proteccio, Bull TrustWay CryptoBox, Bull TrustWay PCI Crypto Card, Utimaco R2, Utimaco R3, Utimaco SafeGuard CryptoServer, Utimaco CryptoServer CP5, Securosys Primus HSM, Crypto4A QxHSM, Futurex HSM, I4P Trident HSM, Cavium Nitrox III, BlackVault HSM, ARX CoSign, AEP Keyper HSM dans le Cloud : AWS CloudHSM, AWS , Azure Key Vault, Azure Managed HSM, Google Cloud Platform (GCP) KMS https://cloud.google.com/security-key-management Google Cloud Platform (GCP) KMS (Key Management Service), IBM Hyper Protect Crypto Services (HPCS) https://www.ibm.com/fr-fr/cloud/hyper-protect-crypto IBM Hyper Protect Crypto Services (HPCS), Thales Data Protection on Demand (DPoD) https://cpl.thalesgroup.com/encryption/data-protection-on-demand Thales Data Protection on Demand (DPoD) HSM, Securosys CloudsHSM https://www.securosys.com/primekey-ejbca Securosys Primus HSM or CloudsHSM, Fortanix Data Security Manager HSM Cartes/ HSM : SmartCard-HSM, Nitrokey HSM, YubiHSM 2, OpenSC (générique) API et outils logiciels : IronCAP Crypto (ICC), , , PKCS11 Spy, Unbound Key Control (UKC)
Certifications et conformité
Critères communs
EJBCA v9.3.3 a été certifié https://www.niap-ccevs.org/products/11530 Produit conforme - EJBCA Enterprise 9.3.3 conforme aux Critères communs (réf. : CCEVS-VR-VID11530-2026) https://www.commoncriteriaportal.org/nfs/ccpfiles/files/epfiles/st_vid11530-ci.pdf Certificat Critères Communs le selon le profil de protection collaboratif « » https://www.commoncriteriaportal.org/files/ppfiles/pp_ca_v2.1.pdf Profil de protection PP4CA (PP4CA).
EJBCA v7.4 a été certifié https://www.commoncriteriaportal.org/files/epfiles/Certification%20Report%20-%20PrimeKey%20EJBCA.pdf Rapport de certification Critères communs conforme aux Critères communs (réf. : CSEC2019005) https://www.commoncriteriaportal.org/files/epfiles/Certificate%20CCRA%20-%20PrimeKey.pdf Certificat CCRA (Common Criteria Recognition Arrangement) le selon le profil de protection collaboratif « » (PP4CA).
EJBCA v5.0 a été certifié https://www.commoncriteriaportal.org/files/epfiles/ANSSI-CC-2012_47.pdf Rapport de certification Critères communs conforme aux Critères communs (réf. : ANSSI-CC-2012/47) le selon le profil de protection « » (PP-CIMC : composants de gestion et d’émission de certificats), niveau EAL 4+.
La librairie CESeCore – cœur de sécurité d’EJBCA – a été certifiée https://www.commoncriteriaportal.org/files/epfiles/ANSSI-CC-2012_33.pdf Rapport de certification Critères communs conforme aux Critères communs (réf. : ANSSI-CC-2012/33) le , niveau EAL 4+.
Référentiel général de sécurité