Gérez vos certificats avec EJBCA

logo EJBCA

Des certificats ?  EJBCA ? C’est un logiciel open-source pour construire une AC (autorité de certification), l’entretenir et produire des certificats électroniques.
Oui mais, la crypto et les certificats… c’est compliqué d’après les moteurs de recherche et les blogs. Installer son service de PKI c’est l’enfer à ce qu’on raconte.
OK, défi accepté.

Archive téléchargée depuis https://sourceforge.net/projects/ejbca/files/ejbca6/ (Primekey publie sa version community sur sourceforge).
On s’intéresse dans ce billet à la version « 6.5 CE » de l’application.

Pré-requis sur une machine vierge

Les composants sont des archives ZIP, donc, sur la machine (Ubuntu Server 16.04), avec l’utilisateur « root », commencer par les pré-requis.

apt install default-jdk-headless ant ant-optional unzip

Pour fournir les notifications, un service de messagerie se révèle utile. Ici, un petit « postfix » de base en mode « site internet » fait l’affaire:

apt install postfix s-nail

Ajout d’un compte utilisateur « pki » avec définition de son mot de passe, son terrain de jeu sera /opt/pki:

useradd pki
passwd pki
mkdir /opt/pki
chown pki:pki /opt/pki

Ainsi, le service ne tournera pas en utilisateur privilégié « root », c’est mieux.

Éléments de base de données

L’application de PKI va s’appuyer sur MySQL/MariaDB.

apt install mariadb-server

Configurer la locale « UTF-8 », avec le fichier /etc/mysql/conf.d/utf-8.conf :

[client] 
default-character-set=utf8

[mysqld]
default-character-set=utf8
#default-collation=utf8_unicode_ci
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-client = utf8

Puis redémarrer le service:

service mysql restart

Création de la base de données depuis l’outil client « mysql »:

CREATE DATABASE ejbca CHARACTER SET utf8 COLLATE utf8_general_ci; 
grant all privileges on ejbca.* to 'ejbca'@'localhost' identified by 'lemotdepasse';
flush privileges;

Puisque la base ainsi créée sera accédée par l’application ejbca/wildfly, il faut un driver JDBC pour J2EE.

La librairie JAVA de driver JDBC à télécharger ‘mariadb-java-client-2.1.2.jar’ depuis:
https://downloads.mariadb.com/Connectors/java/connector-java-2.1.2/ .

On réserve au chaud dans « /opt/_install », pourquoi pas.

Téléchargement et déballage des applications

EJBCA s’appuie sur un serveur d’application J2EE, de type JBOSS. Seulement voilà, obtenir « JBOSS EAP » c’est chiant pénible, faut être référencé chez RedHat. Prenons WildFly qui est l’édition communautaire:

http://download.jboss.org/wildfly/10.1.0.Final/wildfly-10.1.0.Final.tar.gz

On le dépose dans…. « /opt/_install ».

Avec l’utilisateur « pki » (pas root), déballage dans « /opt/pki » (son « home-dir »):

cd /opt/pki 
tar xzf /opt/_install/wildfly-10.1.0.Final.tar.gz
ln -s wildfly-10.1.0.Final wildfly

De même pour le ZIP de EJBCA :

unzip /opt/_install/ejbca_ce_6_5.0.5.zip -d . 
ln -s ejbca_ce_6_5.0.5 ejbca

Tuning basique pré-installation

Wildfly: déploiement du lien avec MariaDB:

cd /opt/pki/wildfly/standalone/deployments 
cp /opt/_install/mariadb-java-client-2.1.2.jar mariadb-java-client.jar

Augmentation des ressources allouées à Wildfly (par défaut Xms64m et Xmx512m), en éditant le fichier « bin/standalone.conf » , ligne 50:

JAVA_OPTS="-Xms2048m -Xmx2048m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"

Activation fichier de configuration:

cd /opt/pki 
cp ejbca/conf/ejbca.properties.sample ejbca/conf/ejbca.properties

Dans le fichier « ejbca.properties » ainsi créé :

appserver.home=/opt/pki/wildfly

Pour la connexion à la base de données:

cp ejbca/conf/database.properties.sample ejbca/conf/database.properties

Dans le fichier « database.properties » ainsi créé, on reprend les paramètres de création de la base :

datasource.jndi-name=EjbcaDS 
database.name=mysql
database.url=jdbc:mysql://127.0.0.1:3306/ejbca?characterEncoding=UTF-8
database.driver=org.mariadb.jdbc.Driver
database.username=ejbca
database.password=lemotdepasse

Paramètres de déploiement:

cp ejbca/conf/install.properties.sample ejbca/conf/install.properties

Ce fichier « install.properties » définit la toute 1ère AC d’administration de l’application

# This installation will create a first administrative CA ca.name=ManagementCA ca.dn=CN=InstallManagementCA,O=Libriciel,C=FR 
# The token type the administrative CA will use.
ca.tokentype=soft
# Password for the administrative CA token.
ca.tokenpassword=null
# The keyspec for the administrative CAs key
ca.keyspec=4096
# The keytype for the administrative CA
ca.keytype=RSA
# Default signing algorithm for the administrative CA.
ca.signaturealgorithm=SHA256WithRSA
# The validity in days for the installation's administrative CA, only digits.
ca.validity=60
# The policy id of the administrative CA
ca.policy=null

Fichier de paramètre de webapp:

cp ejbca/conf/web.properties.sample ejbca/conf/web.properties

Dans le fichier « web.properties » :

# Password for java trust keystore 
java.trustpassword=EncoreUnMotdepasse
# The CN and DN of the super administrator.
superadmin.cn=TempSuperAdmin
superadmin.dn=CN=${superadmin.cn}
# Password for the temporary super-administrator's p12 keystore.
superadmin.password=mot2passe4firefox
superadmin.batch=true
# The password used to protect the web servers SSL keystore
httpsserver.password=serverpwd
# Hostname which will be used for accessing the CA
httpsserver.hostname=ejbca.toto.net
# The Distinguished Name of the SSL server certificate
httpsserver.dn=CN=${httpsserver.hostname},O=Libriciel,C=FR
# Specify external port visible to users of EJBCA.
httpserver.external.privhttps=443
# Specify desired language for the web frontend.
web.availablelanguages=fr,en

Configuration pour notifications SMTP:

cp ejbca/conf/mail.properties.sample ejbca/conf/mail.properties

Dans « mail.properties » :

mail.smtp.host=localhost 
mail.smtp.port=25
mail.smtp.auth=false
mail.from=pki-donotreply@libriciel.fr
mail.contentencoding=UTF-8

Puis la suite…

Déploiement

Là, ça se complique pour ceux (moi) qui ne connaissent pas la philosophie de JBOSS…

D’abord, lancer le serveur d’application:

wildfly/bin/standalone.sh

Puis, en « jboss-cli » il va falloir balancer des instructions. Donc dans un autre terminal, lancer jboss-cli:

cd /opt/pki
wildfly/bin/jboss-cli.sh -c

Ajout (déclaration) de la ressource MariaDB en qualité de « datasource » (gaffe, c’est sur une seule ligne, d’où les back-slashes). Noter les instructions qui correspondent à ce qui a été déclaré dans « database.properties » un peu plus haut: jndi-name, user-name password,…)

data-source add --name=ejbcads --driver-name="mariadb-java-client.jar" 
  --connection-url="jdbc:mysql://127.0.0.1:3306/ejbca" --jndi-name="java:/EjbcaDS" 
  --use-ccm=true --driver-class="org.mariadb.jdbc.Driver" --user-name="ejbca" --password="lemotdepasse" 
  --validate-on-match=true --background-validation=false --prepared-statements-cache-size=50 
  --share-prepared-statements=true --min-pool-size=5 --max-pool-size=150 --pool-prefill=true 
  --transaction-isolation=TRANSACTION_READ_COMMITTED --check-valid-connection-sql="select 1;"

Suite à cela, ordre de « reboot » de wildfly, patienter un peu :

:reload

Reconfiguration de l’accès distant, sur un port TCP distinct, et à la fin « reload ». Je fais mon malin et choisis un port autre que celui par défaut…

/subsystem=remoting/http-connector=http-remoting-connector:remove 
/subsystem=remoting/http-connector=http-remoting-connector:add(connector-ref="remoting",security-realm="ApplicationRealm")
/socket-binding-group=standard-sockets/socket-binding=remoting:add(port="4747")
/subsystem=undertow/server=default-server/http-listener=remoting:add(socket-binding=remoting)
:reload

On patiente encore gentiment sur le redémarrage, puis configuration des logs:

/subsystem=logging/logger=org.ejbca:add 
/subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=DEBUG)
/subsystem=logging/logger=org.cesecore:add
/subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=DEBUG)

Si tout va bien jusqu’ici, sortir de la console JBOSS (Ctrl-C), et de retour en BASH lancer le déploiement de l’EAR :

cd /opt/pki/ejbca
ant clean deployear

Les traces de Wildfly doivent montrer qu’il s’y déroule des choses positives…

Création de l’AC d’administration

Vient le moment de faire créer les premiers éléments de sécurité (TLS certificat, truststore…). Si le port d’accès à Wildfly a été changé, alors le positionner correctement en éditant dist/ejbca-ejb-cli/jboss-ejb-client.properties et y positionner la directive:

remote.connection.default.port = 4747

Puis, toujours dans le répertoire « ejbca »:

ant runinstall

Les keystores étant créés, la commande suivante permet de les déployer sur Wildfly dans wildfly/standalone/config/keystore

ant deploy-keystore

Configuration certificats TLS

Il s’agit de déclarer ces keystores dans l’usage courant de Wildfly. Opération en 2 temps: nettoyage, puis paramétrage avec les bonnes valeurs. Le tout dans JBoss CLI

wildfly/bin/jboss-cli.sh -c

Nettoyage:

/subsystem=undertow/server=default-server/http-listener=default:remove 
/subsystem=undertow/server=default-server/https-listener=https:remove
/socket-binding-group=standard-sockets/socket-binding=http:remove
/socket-binding-group=standard-sockets/socket-binding=https:remove
:reload

Reconfiguration de TLS, attention aux points suivants:

  • « keystore alias » doit correspondre au champ « httpsserver.hostname » dans « web.properties ».
  • « keystore-password » du keystore.jks doit correspondre au champ « httpsserver.password »
  • « keystore-password » du truststore.jks doit correspondre au champ « java.truststore » dans web.properties.
/core-service=management/security-realm=SSLRealm:add() 
/core-service=management/security-realm=SSLRealm/server-identity=ssl:add(keystore-path="${jboss.server.config.dir}/keystore/keystore.jks", keystore-password="serverpwd", alias="ejbca.toto.net")

/core-service=management/security-realm=SSLRealm
/authentication=truststore:add(keystore-path="${jboss.server.config.dir}/keystore/truststore.jks", keystore-password="changemoi")

/socket-binding-group=standard-sockets/socket-binding=httpspriv:add(port="8443",interface="httpspriv")

/socket-binding-group=standard-sockets/socket-binding=httpspub:add(port="8442", interface="httpspub")

À ce stade, redémarrer complètement l’application, et patienter pour son démarrage complet. Vérifier avec les logs, ou en tapant la commande « :read-attribute(name=server-state) » dans la console JBoss CLI.

/subsystem=undertow/server=default-server/https-listener=httpspriv:add(socket-binding=httpspriv, security-realm="SSLRealm", verify-client=REQUIRED) 

/subsystem=undertow/server=default-server/https-listener=httpspriv:write-attribute(name=max-parameters, value="2048")

/subsystem=undertow/server=default-server/https-listener=httpspub:add(socket-binding=httpspub, security-realm="SSLRealm")

/subsystem=undertow/server=default-server/https-listener=httpspub:write-attribute(name=max-parameters, value="2048")

:reload

Finalisation:

/system-property=org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH:add(value=true) 

/system-property=org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH:add(value=true)

/system-property=org.apache.catalina.connector.URI_ENCODING:add(value="UTF-8")

/system-property=org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING:add(value=true)

/subsystem=webservices:write-attribute(name=wsdl-host, value=jbossws.undefined.host)
/subsystem=webservices:write-attribute(name=modify-wsdl-address, value=true)

:reload

Déclaration en service auto

Cette application n’a pas vocation à fonctionner sous perfusion d’un terminal. Des contributions externes donnent des exemples de déclaration pour init.d ainsi que systemd. Le choix s’est porté sur le plus stable: init.d bien entendu.

Pour cela, être root:

mkdir /etc/wildfly 
cp /opt/pki/wildfly/docs/contrib/scripts/init.d/wildfly.conf /etc/default/wildfly

vi /etc/default/wildfly

Dans /etc/default/wildfly:

## Location of JDK 
JAVA_HOME="/usr/lib/jvm/default-java"

## Location of WildFly
JBOSS_HOME="/opt/pki/wildfly"

## The username who should own the process.
# JBOSS_USER=wildfly
JBOSS_USER=pki

## The mode WildFly should start, standalone or domain
JBOSS_MODE=standalone

## Configuration for standalone mode
JBOSS_CONFIG=standalone.xml

## Configuration for domain mode
# JBOSS_DOMAIN_CONFIG=domain.xml
# JBOSS_HOST_CONFIG=host-master.xml

## The amount of time to wait for startup
STARTUP_WAIT=60

## The amount of time to wait for shutdown
SHUTDOWN_WAIT=60

## Location to keep the console log
JBOSS_CONSOLE_LOG="/var/log/wildfly/console.log"

Puis déclaration en « service », et mise au carré des droits d’accès :

cp /opt/pki/wildfly/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/wildfly 

chown root:root /etc/init.d/wildfly
chmod +X /etc/init.d/wildfly

update-rc.d wildfly defaults
update-rc.d wildfly enable

mkdir -p /var/log/wildfly
chown -R pki:pki /var/log/wildfly

Le service se lance ainsi

service wildfly start

Un certificat pour tous les lier…

Ce tout premier élément d’identification forte est stocké sur le serveur dans /opt/pki/ejbca/p12/, s’appelle superadmin.p12 et est protégé par le mot de passe valorisé dans un des fichiers ci-dessus (install.properties).

Ainsi, il faut le récupérer sur le poste client, par SCP, puis l’importer ce certificat dans le navigateur.
Ensuite la connexion sur https://localhost:8443/ejbca/ devrait réclamer le certificat en question avant de montrer la page d’accueil de EJBCA. Enfin!
Reconnaissons qu’il râle fort sur le fait que le navigateur ne reconnaît pas le certificat TLS serveur, ce qui est normal.

Reste à faire…

Arrivé là, j’ai juste une infra toute nue, il n’y a encore rien de dispo pour créer mon certificat électronique! Il manque quelques éléments dans EJBCA:

  • Une AC racine
  • un profil d’AC intermédiaire, et au moins une AC intermédiaire sur ce profil: une AC utilisateur, et une AC pour serveurs par exemple.
  • des profils de certificats selon l’usage souhaité: authentification client + signature, serveur web (TLS), chiffrement mail,…
  • des profils d’entité: sorte de gabarits de formulaires pré-remplis pour faciliter la saisie ultérieure.

Une fois cela mis en place, il convient de changer les certificats d’administration + keystore/truststores, par des objets provenant de l’AC nouvellement créée!
Bref, la route est encore longue…

Oh! Manquent aussi la mécanique de publication des CRL, et la mise en place de l’OCSP.
Croyant être arrivé à un jalon raisonnable… et se rendre compte du chemin qui reste à parcourir. Ouch.

Ressources

En conclusion: le billet est un poiiiil plus long que prévu; mais produire des certificats électroniques à peu près proprement, ça se mérite.
Plusieurs sources m’ont permis d’avancer:

  • Le site de Primekey ejbca.org
  • Ainsi que quelques trucs glanés sur le blog Majic Wiki, même si l’article référencé ici joue avec une version plus ancienne.
  1. Hello,
    En train d’installer EJBCA, j’ai quelques soucis:

    Installé EJBCA 6.5.0.5 avec ANT 1.9.9, Wilfly11.0.0, Java openjdk 1.8.0.40, MySQL 5.7.21, et un HSM Thales, avec nfast sur un serveur Windows server
    Deploy et runinstall ont marché, mais je reçois un « Access denied : certificate required » quand je me connecte surla console admin 8443 (ouvert dans le firewall).
    Si vous pouvez m’aider, merci de me le faire savoir…
    Cdlt

    • Bonjour,
      alors, je ne suis pas Windowsien, mais je vais essayer d’aider avec mes moyens.

      Le « certificate required » dit que EJBCA réclame un certificat d’authentification client (peut-être le 1er certificat de super administrateur). Celui-ci doit être enregistré (importé) dans le navigateur utilisé.
      En espérant avoir été utile

      • Barry Mamadou says:

        Salut moi aussi j’ai un problème avec ant runinstall
        Voici l’erreur que j’ai
        Buildfile: /opt/pki/_install/ejbca_ce_6_10_1_2/build.xml

        customejbca.message:
        [echo] No custom changes to merge.

        appserver.error.message:

        customejbca.message:

        appserver.error.message:

        runinstall:

        check:bootstrapdone:

        ejbca:prompt:
        [input] skipping input as property ca.name has already been set.
        [input] skipping input as property ca.dn has already been set.
        [input] skipping input as property ca.keytype has already been set.
        [input] skipping input as property ca.keyspec has already been set.
        [input] skipping input as property ca.signaturealgorithm has already been set.
        [input] skipping input as property ca.validity has already been set.
        [input] skipping input as property ca.policy has already been set.
        [echo] To set httpsserver.hostname you need to configure conf/web.properties. See sample config file conf/web.properties.sample.
        [input] skipping input as property httpsserver.hostname has already been set.
        [echo]
        [echo] Common Name (CN) of httpsserver dn is by default taken from the httpsserver.hostname.
        [input] skipping input as property httpsserver.dn has already been set.
        [input] skipping input as property superadmin.cn has already been set.
        [input] skipping input as property superadmin.dn has already been set.
        [input] skipping input as property superadmin.batch has already been set.
        [input] skipping input as property superadmin.password has already been set.
        [input] skipping input as property ca.tokenpassword has already been set.

        ejbca:deploytrustprompt:
        [input] skipping input as property java.trustpassword has already been set.

        ejbca:deployprompt:
        [input] skipping input as property httpsserver.password has already been set.

        ejbca:init:
        [echo]
        [echo] ——————- CA Properties —————-
        [echo] ca.name : « ManagementCA »
        [echo] ca.dn : CN=InstallManagementCA,O=Libriciel,C=FR
        [echo] ca.tokentype : soft
        [echo] ca.keytype : RSA
        [echo] ca.keyspec : 4096
        [echo] ca.signaturealgorithm : SHA256WithRSA
        [echo] ca.validity : 60
        [echo] ca.policy : null
        [echo] ca.tokenproperties : ${ca.tokenproperties}
        [echo] httpsserver.hostname : localhost
        [echo] httpsserver.dn : CN=localhost,O=Libriciel,C=FR
        [echo] superadmin.cn : TempSuperAdmin
        [echo] superadmin.dn : CN=TempSuperAdmin
        [echo] superadmin.batch : true
        [echo] appserver.home : /opt/pki/_install/wildfly-10.1.0.Final
        [echo]

        ejbca:install:

        ejbca:initCA:
        [echo] Initializing CA with ‘ »ManagementCA »‘ ‘CN=InstallManagementCA,O=Libriciel,C=FR’ ‘soft’ ‘4096’ ‘RSA’ ’60’ ‘null’ ‘SHA256WithRSA’ -superadmincn ‘TempSuperAdmin’…
        [java] Error: CLI could not contact EJBCA instance. Either your application server is not up and running, EJBCA has not been deployed successfully, or some firewall rule is blocking the CLI from the application server.

        BUILD FAILED
        /opt/pki/_install/ejbca_ce_6_10_1_2/build.xml:70: The following error occurred while executing this line:
        /opt/pki/_install/ejbca_ce_6_10_1_2/bin/cli.xml:97: The following error occurred while executing this line:
        /opt/pki/_install/ejbca_ce_6_10_1_2/bin/cli.xml:115: The following error occurred while executing this line:
        /opt/pki/_install/ejbca_ce_6_10_1_2/bin/cli.xml:189: Java returned: 1

        Pourriez vous m’aider.

  2. Razafindramintsa says:

    Bonjour à tous je veux un CA approuvé par OCSP . Est ce que vous pouvez me donner une démarche permettant d’y faire.
    Merci beaucoup

  3. Salut!
    Je suis entrain d’installer ejbca sur ubuntu server 18.04. je rencontre une erreur lorsque je lance la commande :
    ant clean deployear.
    voici l’erreur que j’ai :
    [javac] /opt/ejbca/modules/cesecore-p11/src/sun/security/pkcs11/CESeCoreUtils.java:15: error: package sun.security.pkcs11.wrapper is not visible

    NB: J’ai installé la version 12 de wildfly et j’utilise openjdk 10

    Merci de m’aider.

    • J’ai vu passer beaucoup de soucis de déploiement de EJBCA sur WildFly 12,
      alors je conseillerais de tenter le coup sur une version stable connue pour fonctionner: WilFly 10.

      bon courage, en espérant que ça évite ce problème rencontré

  4. Barry Mamadou says:

    Salut j’avais un problème avec ant runinstall. Quand je l’exécute j’ai l’erreur suivante:
    Buildfile: /opt/pki/_install/ejbca_ce_6_10_1_2/build.xml

    customejbca.message:
    [echo] No custom changes to merge.

    appserver.error.message:

    customejbca.message:

    appserver.error.message:

    runinstall:

    check:bootstrapdone:

    ejbca:prompt:
    [input] skipping input as property ca.name has already been set.
    [input] skipping input as property ca.dn has already been set.
    [input] skipping input as property ca.keytype has already been set.
    [input] skipping input as property ca.keyspec has already been set.
    [input] skipping input as property ca.signaturealgorithm has already been set.
    [input] skipping input as property ca.validity has already been set.
    [input] skipping input as property ca.policy has already been set.
    [echo] To set httpsserver.hostname you need to configure conf/web.properties. See sample config file conf/web.properties.sample.
    [input] skipping input as property httpsserver.hostname has already been set.
    [echo]
    [echo] Common Name (CN) of httpsserver dn is by default taken from the httpsserver.hostname.
    [input] skipping input as property httpsserver.dn has already been set.
    [input] skipping input as property superadmin.cn has already been set.
    [input] skipping input as property superadmin.dn has already been set.
    [input] skipping input as property superadmin.batch has already been set.
    [input] skipping input as property superadmin.password has already been set.
    [input] skipping input as property ca.tokenpassword has already been set.

    ejbca:deploytrustprompt:
    [input] skipping input as property java.trustpassword has already been set.

    ejbca:deployprompt:
    [input] skipping input as property httpsserver.password has already been set.

    ejbca:init:
    [echo]
    [echo] ——————- CA Properties —————-
    [echo] ca.name : « ManagementCA »
    [echo] ca.dn : CN=InstallManagementCA,O=Libriciel,C=FR
    [echo] ca.tokentype : soft
    [echo] ca.keytype : RSA
    [echo] ca.keyspec : 4096
    [echo] ca.signaturealgorithm : SHA256WithRSA
    [echo] ca.validity : 60
    [echo] ca.policy : null
    [echo] ca.tokenproperties : ${ca.tokenproperties}
    [echo] httpsserver.hostname : localhost
    [echo] httpsserver.dn : CN=localhost,O=Libriciel,C=FR
    [echo] superadmin.cn : TempSuperAdmin
    [echo] superadmin.dn : CN=TempSuperAdmin
    [echo] superadmin.batch : true
    [echo] appserver.home : /opt/pki/_install/wildfly-10.1.0.Final
    [echo]

    ejbca:install:

    ejbca:initCA:
    [echo] Initializing CA with ‘ »ManagementCA »‘ ‘CN=InstallManagementCA,O=Libriciel,C=FR’ ‘soft’ ‘4096’ ‘RSA’ ’60’ ‘null’ ‘SHA256WithRSA’ -superadmincn ‘TempSuperAdmin’…
    [java] Error: CLI could not contact EJBCA instance. Either your application server is not up and running, EJBCA has not been deployed successfully, or some firewall rule is blocking the CLI from the application server.

    BUILD FAILED
    /opt/pki/_install/ejbca_ce_6_10_1_2/build.xml:70: The following error occurred while executing this line:
    /opt/pki/_install/ejbca_ce_6_10_1_2/bin/cli.xml:97: The following error occurred while executing this line:
    /opt/pki/_install/ejbca_ce_6_10_1_2/bin/cli.xml:115: The following error occurred while executing this line:
    /opt/pki/_install/ejbca_ce_6_10_1_2/bin/cli.xml:189: Java returned: 1

    Est-ce-que quelq’un pourrait m’aider

    • Bonjour,

      nb: je vous invite à adapter le contenu du billet à votre contexte: « O=Libriciel » par exemple, choisissez plutôt un nom d’organisme/société dont vous faites partie. De même pour le code pays « C=FR ».

      La raison n’est pas visible avec les traces présentes ici, mais il semble que le service EJBCA n’a pas pu démarrer au moment où initCA en a besoin.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.