Instalación e implementación
A continuación, se proporciona información para solucionar problemas de instalación e implementación. Para ver sugerencias generales y buscar temas de solución de problemas, consulte Solución de problemas de EJBCA .
Obtengo tiempos de espera y/o errores durante el inicio de JBoss/Wildfly10
Mi instalación falló por alguna razón que ya está solucionada, ¿cómo procedo?
Recibo un error con "Longitud de clave ilegal" cuando uso EJBCA.
Recibo un mensaje de error al acceder a la interfaz de usuario de CA
¿Recibo una página en blanco en la interfaz de usuario después de iniciar?
¿Cómo manipulo almacenes de claves EJBCA utilizando la herramienta de claves de JAVA?
¿Cómo creo un almacén de claves usando keytool con un certificado real de EJBCA?
Obtengo tiempos de espera y/o errores durante el inicio de JBoss/Wildfly10
Asegúrese de que el servidor de aplicaciones tenga suficientes núcleos (más de uno), suficiente CPU (de lo contrario, se producirán tiempos de espera) y suficiente memoria (también ralentizará el sistema).
Asegúrese de que se apliquen los índices de la base de datos; de lo contrario, las búsquedas en la base de datos se vuelven muy lentas a medida que crece el tamaño de la misma.
El siguiente archivo SQL que está listo para ejecutarse en su base de datos contiene un conjunto de índices de base de datos recomendados que se pueden aplicar a su base de datos:
doc/sql-scripts/crear-índice-ejbca.sql .
Para obtener más información, consulte Creación de la base de datos .
Recibo un error con "espacio de montón de Java" al compilar EJBCA (durante la implementación de Ant).
Este error se debe a que la asignación de memoria máxima permitida predeterminada para JAVA está configurada demasiado baja en su entorno.
Mi instalación falló por alguna razón que ya está solucionada, ¿cómo procedo?
La mejor manera de recuperarse suele ser empezar desde cero:
Detener JBoss
Asegúrese de que la base de datos esté limpia
Implementar e instalar EJBCA
Detener JBoss y comprobar que se detiene sin problemas
Inicia JBoss y comprueba que arranca sin problemas
Elimina el antiguo superadmin.p12 de tu navegador e importa el recién generado
Recibo errores durante 'ant deployear' o 'ant runinstall'.
Esto suele deberse a un error de configuración de la base de datos. En el registro del servidor (JBOSS_HOME/standalone/log/server.log) probablemente verá algunos errores SQLException. Debería entonces:
Asegúrese de que la configuración en conf/database.properties sea correcta
Asegúrese de que la configuración de la base de datos en JBoss/WildFly sea correcta
Siga las pautas de "Mi instalación falló por algún motivo que ya está solucionado, ¿cómo procedo?"
Consulte la sección de configuración y solución de problemas en doc/howto/HOWTO-database.txt para obtener información adicional relacionada con la base de datos.
Recibo un error con "Longitud de clave ilegal" cuando uso EJBCA.
Esto se debe a que está utilizando Oracle JDK (en lugar de OpenJDK) y no ha instalado los archivos de política de cifrado de fuerza ilimitada. Consulte la sección de prerrequisitos en la guía de instalación. Aunque crea que los ha instalado, no es así. Este error es simple y único.
También puede suceder que esté intentando inscribirse para obtener un certificado que pasa una clave pública con una longitud menor que la longitud de clave requerida especificada en el Perfil de certificado.
Después de una actualización, obtengo un error "java.lang.NoSuchMethodError" al acceder a la interfaz de usuario.
JBoss no limpia bien los archivos temporales; a veces necesitamos ayuda. Elimine los directorios JBOSS_HOME/standalone/tmp y reinicie JBoss.
Durante el proceso de compilación, obtengo errores como: BUILD FAILED /usr/ejbca/build.xml:789: java.lang.ExceptionInInitializerError
Probablemente tengas Ant preinstalado como paquete de Fedora o Suse. Estas preinstalaciones no contienen todos los módulos predeterminados de Ant. Necesitas las "tareas opcionales" incluidas en la distribución oficial de Ant. Añade módulos al Ant instalado o descarga la versión más reciente de Ant desde http://ant.apache.org/ .
Una solución sencilla es cambiar el archivo /etc/ant.conf para que apunte a la instancia de Ant instalada por el usuario (en /your/ant/home). Cambiar de:
## ant.conf (Ant 1.6.x)# JPackage Project (http://www.jpackage.org/)## Validate --noconfig setting in case being invoked# from pre Ant 1.6.x environmentif [ -z "$no_config" ] ; thenno_config= truefi# Setup ant configurationif $no_config ; then# Disable RPM layoutrpm_mode= falseelse# Use RPM layoutrpm_mode= true# ANT_HOME for rpm layoutANT_HOME= /usr/share/antfi a
## ant.conf (Ant 1.6.x)# JPackage Project (http://www.jpackage.org/)## Validate --noconfig setting in case being invoked# from pre Ant 1.6.x environmentif [ -z "$no_config" ] ; thenno_config= truefi# Setup ant configurationif $no_config ; then# Disable RPM layoutrpm_mode= falseelse# Use RPM layoutrpm_mode= false# ANT_HOME for rpm layoutANT_HOME= /your/ant/homefiPara Ubuntu, las cosas son mucho más fáciles, simplemente 'sudo apt-get install ant' y 'sudo apt-get install ant-optional'.
¿Dónde se almacena el archivo de registro para el seguimiento de errores y la información de depuración?
JBOSS_HOME/independiente/log/server.log.
¿Cómo configuro el nivel de registro en JBoss?
Puede configurar el registro en JBoss para poder cambiarlo dinámicamente.
Para los sistemas de producción, se recomienda el nivel de registro INFO:
/subsystem=logging/logger=org.ejbca:add(level=INFO)/subsystem=logging/logger=org.cesecore:add(level=INFO)Para habilitar posteriormente el nivel de registro DEBUG, si es necesario, utilice lo siguiente:
/subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=DEBUG)/subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=DEBUG)Para obtener más información sobre las instrucciones específicas del servidor de aplicaciones, consulte Servidores de aplicaciones .
¿Cómo modifico las páginas web públicas?
Puede agregar sus propias páginas estáticas en http://hostname:8080/ejbca/ haciendo lo siguiente:
Coloque sus archivos (HTML estático es fácil) en módulos/publicweb-gui/recursos/
Realizar una construcción completa.
Redistribuir.
Para obtener más información, consulte Personalizar la interfaz de usuario .
Recibo un mensaje de error al acceder a la interfaz de usuario de CA
Problema: Mensaje de error "No se pudo establecer una conexión cifrada porque su certificado fue rechazado... Código de error: -12224" al acceder a la web de CA.
Pasos para la solución de problemas
Asegúrese de haber importado el archivo superadmin.p12 correcto en su navegador.
Es posible que tengas que eliminar e importar el certificado de CA en el almacén de confianza de tu servidor de aplicaciones ejecutando lo siguiente:
ant javatruststoreTambién puede importar otra CA que no sea la ManagementCA inicial (Mi CA en el ejemplo), utilizando el siguiente comando:
ant -Dca.name="My CA"javatruststoreAsegúrese de reiniciar JBoss después de realizar cambios en el almacén de confianza de Java.
Quizás la configuración de JBoss no se realizó automáticamente porque está ejecutando una configuración distinta a la predeterminada. Generalmente, la configuración del servidor se encuentra en el archivo JBOSS_HOME/standaone/configuration/standalone.xml.
También se debe copiar el archivo $EJBCA_HOME/p12/tomcat.jks a $JBOSS_HOME/standalone/configuration/keystore/keystore.jks, donde 'standalone' debe reemplazarse con la configuración de JBoss que esté utilizando.
¿Recibo una página en blanco en la interfaz de usuario después de iniciar?
O bien, ingresó un nombre de host (en httpsserver.hostname en web.properties) que no se resuelve en la máquina donde se ejecuta EJBCA durante la configuración, o bien, cambió el puerto que escucha JBoss. Asegúrese de que el nombre de host se resuelva en la máquina donde se ejecuta EJBCA.
Al ejecutar 'ant runinstall' o crear archivos JKS o PKCS12, no se puede usar una contraseña de más de 7 caracteres. ¿Una contraseña más larga genera un error?
Tenga en cuenta que esto solo es relevante para OracleJDK. OpenJDK no tiene esta restricción.
Si desea utilizar cifrado seguro o contraseñas de más de 7 caracteres en los almacenes de claves, debe instalar los archivos de política de jurisdicción de seguridad ilimitada para el JDK. Estos archivos se encuentran en la misma ubicación que la descarga del JDK. Puede encontrar más información al respecto en la documentación de Sun sobre el JCE.
¿Cómo manipulo almacenes de claves EJBCA utilizando la herramienta de claves de JAVA?
EJBCA admite el formato PKCS12 para el almacén de claves porque es un estándar, y nos gustan los estándares. Normalmente, las herramientas de claves (por ejemplo, las de Java) pueden leer archivos PKCS12, pero no escribirlos, por lo que se necesita BouncyCastle JCE para gestionar almacenes de claves PKCS12.
keytool -list -alias privateKey -keystore server.p12 -storetype PKCS12 -storepass foo123 -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath $EJBCA_HOME/lib/bcprov-jdk15on- 159 .jarTambién debería ser posible importar, etc., utilizando keytool.
¿Cómo creo un almacén de claves usando keytool con un certificado real de EJBCA?
Primero genere un nuevo almacén de claves y un par de claves:
$ keytool -genkey - alias mykey -keystore myks.jks -keyalg RSA -dname c=SE,O=AnaTom,CN=Test -keypass foo123 -storepass foo123Su almacén de claves SUN ahora se encuentra en el archivo 'myks.jks'. A continuación, genere una solicitud de certificación (PKCS10):
$ keytool -certreq - alias mykey -sigalg SHA1WithRSA - file myreq.p10 -keypass foo123 -keystore myks.jks -storepass foo123Ahora tiene la solicitud de certificación en el archivo "myreq.p10". Abra la página de solicitud EJBCA en su navegador favorito ( http://127.0.0.1:8080/ejbca ) y seleccione el enlace "NO tener un navegador". Descargue el certificado de CA raíz haciendo clic en el enlace. Guarde el certificado como "ca.pem". Introduzca el nombre de usuario y la contraseña de un usuario válido con estado NUEVO (consulte la pregunta "¿Por qué obtengo la excepción/error?" más arriba). Copie y pegue el contenido de la solicitud de certificación (myreq.p10) en el campo de texto. Guarde el certificado devuelto como "cert.pem".
A continuación, importe el certificado de CA raíz al almacén de claves 'myks.jks':
$ keytool - import - alias cacert - file ca.pem -keystore myks.jks -storepass foo123Importe la respuesta del certificado al almacén de claves:
$ keytool - import - alias mykey - file cert.pem -keystore myks.jks -storepass foo123 -keypass foo123Ahora puedes echar un vistazo a tu almacén de claves SUN con:
$ keytool -list -keystore myks.jksEn teoría, puedes usar el mismo método con un almacén de claves PKCS12 de BouncyCastle agregando los siguientes argumentos a cada comando anterior:
-provider org.bouncycastle.jce.provider.BouncyCastleProvider -storetype PKCS12 -providerpath $EJBCA_HOME/lib/bcprov-jdk15on- 161 .jarLamentablemente, un error en keytool impide que esto funcione correctamente actualmente. Por lo tanto, recomendamos usar la herramienta 'bin/ejbca.sh ca' para crear almacenes de claves PKCS12. Se puede usar para crear almacenes de claves en general, no solo para CA.