Creación de complementos

Para, por ejemplo, ampliar considerablemente la funcionalidad de RA, posiblemente incluyendo tablas de base de datos adicionales, puede considerar usar el esquema de plugins EJBCA, que proporciona a las aplicaciones personalizadas los datos principales del entorno EJBCA. En el directorio src/samples/plug-ins encontrará un par de plugins de demostración completos que pueden agregarse a una instalación EJBCA existente sin necesidad de configuración.

Inclusión de complementos en EJBCA

Hay dos métodos para crear e incluir sus propios complementos en EJBCA:

Inclusión de JAR externos en la ruta de clases

Este puede ser el método más sencillo para algunos, ya que implica precompilar su propio JAR (preferiblemente usando una de nuestras interfaces de plugin y un archivo de manifiesto, ver más abajo) y asegurarse de que esté disponible en la ruta de clases. Para habilitar esto:

  1. Modifique el archivo plugin.properties.sample (cambiándole el nombre a, por ejemplo , widget.properties ) y colóquelo en conf/plugins en su directorio EJBCA local o en ejbca-custom/conf/plugins si está usando un directorio de configuración externo.

  2. Asegúrese de que el archivo contenga la siguiente línea donde el directorio apunta a la ubicación de su archivo JAR compilado.

    plugin.ejbca.lib.dir=/home/demo/myplugin/dist/

Incluir directorios de fuentes externas

La otra variante consiste en crear un directorio de origen junto con EJBCA, desde el cual EJBCA pueda copiar los archivos fuente. Si bien esta variante puede ser más sencilla de mantener al obtener las bibliotecas de EJBCA directamente desde EJBCA, también puede ser más difícil configurar un entorno de desarrollo. Para ello:

  1. Modifique el archivo plugin.properties.sample (cambiándole el nombre a, por ejemplo , widget.properties ) y colóquelo en conf/plugins en su directorio EJBCA local o en ejbca-custom/conf/plugins si está usando un directorio de configuración externo.

  2. Asegúrese de que el archivo contenga la siguiente línea para apuntar al archivo de compilación de su complemento.

    plugin.ejbca.ant.file=/home/demo/myplugin/build.xml

Para obtener más información sobre cómo configurar esto, consulte plugin.properties.sample .

Complemento de muestra

Se proporciona un complemento de ejemplo básico en el directorio src/samples/plugins . Contiene una aplicación web y un bean EJB.

Para implementar y probar el complemento, ejecute lo siguiente:

ant build -Dejbca.plugin.conf.path=/home/user/Dev/workspace/ejbca-trunk/src/samples/plugins
ant deployear

Luego puede acceder a la aplicación web del complemento en http://localhost:8080/ejbca/pluginweb/.

Para obtener más información, consulte el archivo README ubicado en el directorio src/samples/plugins .

Interfaces de complementos

Varias interfaces de plugins permiten ampliar la funcionalidad con sus propias clases. Al usar cualquiera de las siguientes interfaces, incluyendo un archivo de manifiesto en el JAR y asegurándose de que el JAR esté disponible en la ruta de clases (consulte Inclusión de JAR externos en la ruta de clases ) durante la construcción del EAR de EJBCA, los plugins aparecerán automáticamente cuando corresponda.

Tipo

Descripción

Documentación

Extensiones de certificado

Las extensiones personalizadas se pueden agregar y eliminar en la pestaña "Extensiones de certificado personalizadas" de la página " Configuración del sistema" . Interfaz: org.cesecore.certificates.certificate.certextensions.CustomCertificateExtension

Extensiones de certificado personalizadas

Destinatarios de notificaciones por correo electrónico

Se pueden enviar notificaciones por correo electrónico cuando cambia el estado de una entidad final, por ejemplo, cuando se agrega un nuevo usuario.
Interfaz: org.ejbca.core.model.ra.raadmin.ICustomNotificationRecipient

Notificaciones por correo electrónico

Editores

Si bien EJBCA alberga una amplia variedad de diferentes tipos de editores, usted también puede crear fácilmente el suyo propio.
Interfaz: org.ejbca.core.model.ca.publisher.ICustomPublisher

Editores personalizados

Procesadores de solicitudes

Un procesador de solicitudes es un complemento que de alguna manera modifica o actúa sobre una CSR entrante antes de emitir certificados.
Interfaz: org.cesecore.certificates.ca.ExtendedUserDataHandler

Creación de procesadores de solicitudes personalizados

Servicios

Es posible escribir complementos de componentes personalizados que se puedan utilizar con otros estándares (o complementos personalizados).
Interfaz: org.ejbca.core.model.services.IWorker

Servicios

Fuentes de datos del usuario

El marco de fuentes de datos de usuario permite importar datos de usuario desde bases de datos existentes y habilita la importación de datos de usuario desde un LDAP y AD.
Interfaz: org.ejbca.core.model.ra.userdatasource.ICustomUserDataSource

Fuentes de datos del usuario

Dado que EJBCA es de código abierto, puedes modificar lo que quieras o usar cualquiera de las interfaces para crear tus propios complementos. Para más información sobre cómo administrar complementos y plugins, consulta "Añadir reglas para regular los valores de los campos de entidad final" .