Interfaces de línea de comandos

Las siguientes interfaces de línea de comandos (CLI) EJBCA están disponibles:

  • Caja de herramientas del cliente EJBCA : Conjunto de herramientas desarrolladas como un paquete independiente, que puede instalarse en cualquier máquina y ejecutarse independientemente de EJBCA. Incluye una interfaz de servicio web .

  • Interfaz de línea de comandos local (CLI EJBCA) : la CLI local se puede ejecutar directamente en la máquina de CA y contiene muchas funciones que se pueden usar en scripts o que pueden ayudar cuando su certificado de administrador ha expirado o si accidentalmente ha revocado sus privilegios de administrador para la GUI de administrador.

  • CLI de base de datos local : acceder a una base de datos, exportar e importar, copiar, verificar el registro de auditoría y monitoreo de OCSP.

  • Herramienta de búsqueda de CAA : proporciona verificación adicional, respaldo y resolución de problemas para el validador de CAA integrado.

  • CLI de P11Ng : Herramienta PKCS#11 utilizada para interactuar con el proveedor p11-ng. Admite la generación y autorización de claves (específicas para Utimaco CP5), entre otras funciones.

  • Herramienta ConfigDump : una herramienta poderosa que se utiliza para exportar una instalación EJBCA completa en archivos YAML legibles para humanos.

Interfaz de línea de comandos local (CLI EJBCA)

La CLI local se puede ejecutar directamente en la máquina de CA y contiene muchas funciones que se pueden usar en scripts o que pueden ayudar cuando su certificado de administrador ha expirado o si accidentalmente ha revocado sus privilegios de administrador para la GUI de administrador.

EJBCA tiene interfaces de línea de comandos tanto para CA como para RA, así como también algunas otras operaciones.

Para enumerar los comandos disponibles, ejecute la CLI usando, por ejemplo:

$ bin /ejbca .sh
$ bin /ejbca .sh ca
$ bin /ejbca .sh ra

Para enumerar las opciones disponibles para un comando específico, ejecute el comando sin ninguna opción, por ejemplo:

$ bin /ejbca .sh ra addendentity

Para acceder a la información de uso de ciertos comandos que no toman parámetros, proporcione la opción -?.

Tenga en cuenta que al proporcionar archivos como entrada a la CLI, es recomendable utilizar nombres de ruta completos, ya que el directorio de trabajo puede no ser el que usted piensa.

Códigos de retorno

La CLI local utiliza los siguientes códigos de retorno para facilitar la creación de scripts:

  • 0 - Salida normal.

  • 1 - Error funcional, el comando se ingresó correctamente pero falló por alguna otra razón.

  • 2 - Error de autenticación.

  • 3 - Error de CLI, el comando falló debido al uso incorrecto de parámetros.

Autenticación de CLI local

De forma predeterminada, la CLI se autentica mediante un usuario estándar definido en ejbca.properties. Deshabilitar este usuario en el servidor hará que todas las operaciones de la CLI exijan autenticación mediante los siguientes indicadores añadidos a la lista de argumentos:

-u <username> -p

Esto hará que la consola solicite la contraseña. Si, por el contrario, la contraseña debe incluirse en la línea de comandos (por ejemplo, desde un script), se puede especificar mediante las siguientes opciones:

-u <username> --clipassword=<password>

También puede especificar que la contraseña se proporcione como la primera línea de un archivo, lo cual puede ser útil para scripts. Puede especificarse anteponiendo "file:" a la contraseña:

-u <username> --clipassword= file :<filename>

Donde nombre_de_archivo es un archivo, por ejemplo /tmp/pwd.txt, que contiene la contraseña en una sola línea.

Un ejemplo de comando CLI para enumerar CA podría verse así:

$ bin /ejbca .sh ca listcas -u ejbca --clipassword= file : /tmp/pwd .txt

Los usuarios de la línea de comandos se autentican desde la lista existente de Entidades Finales y se les otorgan los mismos derechos. Puede encontrar el usuario CLI predeterminado en el rol de superadministrador, que aparece en Roles de administrador, después de una instalación o actualización predeterminada. Puede agregar nuevos usuarios CLI agregando una entidad final y un miembro a un rol mediante el token de autenticación CLI:Nombre de usuario .

Eliminar a este usuario o revocar todos sus privilegios imposibilita el uso de la CLI para cualquier operación que requiera derechos de administrador, incluida la renovación del certificado de superadministrador. Asegúrese de renovar los certificados de administrador mediante la Web de administración antes de que caduquen.

Cambiar la contraseña del usuario CLI predeterminado

El nombre de usuario y la contraseña predeterminados utilizados para la CLI definida en ejbca.properties son los siguientes:

#------------------- CLI settings -------------
ejbca.cli.defaultusername=ejbca
ejbca.cli.defaultpassword=ejbca

Cuando sea necesario cambiar esta contraseña para cumplir con los requisitos de la política de seguridad, utilice el siguiente comando para cambiar la contraseña:

$ bin /ejbca .sh ra setpwd ejbca <NEW PASSWORD>

Donde NUEVA CONTRASEÑA es la nueva contraseña que se utilizará con los comandos CLI.

PowerShell realiza la expansión de shell sin comillas ni comillas dobles, y el $ puede causar problemas a menos que se escape con una marca de verificación ( ` ), por ejemplo: `$

Deshabilitar la interfaz de línea de comandos

Puede deshabilitar la interfaz de línea de comandos para evitar que un usuario ejecute operaciones que requieran autorización. Vaya a Funciones del sistema > Configuración del sistema y desmarque la opción Habilitar acceso a la interfaz de línea de comandos para deshabilitar la realización de operaciones que requieran autorización desde la interfaz de línea de comandos.

La opción Habilitar acceso a la interfaz de línea de comandos , a diferencia de deshabilitar los privilegios de los usuarios de la CLI en Roles de administrador , permite alternar entre tener la CLI habilitada o deshabilitada siempre que tenga acceso a la GUI de administración.

Deshabilitar la opción "Habilitar acceso a la interfaz de línea de comandos" impide usar la CLI para cualquier operación que requiera derechos de administrador, incluida la renovación del certificado de superadministrador. Asegúrese de renovar los certificados de administrador mediante la Web de administración antes de que caduquen .

Después de cambiar esta propiedad, es posible que deba seleccionar Borrar todos los cachés o ejecutar el siguiente comando CLI:


$ bin/ejbca.sh clearcache -all

CLI de base de datos local

EMPRESA Esta es una característica de EJBCA Enterprise.

Puede crear y ejecutar la CLI de la base de datos local utilizando los comandos:

$ ant ejbca-db-cli
$ cd dist /ejbca-db-cli
$ . /run .sh

La CLI contiene comandos para acceder directamente a una base de datos, exportar, importar, copiar, verificar el registro de auditoría y supervisar OCSP. Ejecute el comando para obtener una descripción de todos los comandos disponibles.

Para verificar la protección de la base de datos, asegúrese de tener configurado el archivo conf/databaseprotection.properties. Si utiliza protección de base de datos para su CA, puede usar el mismo archivo.

Para la verificación, también puede usar un token de verificación, sin la clave privada, para poder realizar la verificación en otro host desde la CA. El archivo conf/databaseprotection.properties.sample proporciona un ejemplo de configuración y documentación para las distintas opciones.

También puede utilizar la herramienta DB para crear una protección de base de datos en caso de que no la haya habilitado al principio y desee habilitarla más adelante.

  • Apagar EJBCA

  • Configurar databaseprotection.properties y compilar ejbca-db-cli (de modo que el archivo de propiedades se incluya en dist/ejbca-db-cli/conf)

  • Exportar la base de datos con db-cli

  • Eliminar la base de datos

  • Importar la base de datos con db-cli

Herramienta de búsqueda de CAA

EMPRESA Esta es una característica de EJBCA Enterprise.

Se proporciona soporte completo para las CA mediante el Validador CAA integrado. Para proporcionar verificación adicional, respaldo y resolución de problemas, se proporciona una herramienta de línea de comandos que utiliza el mismo código subyacente para ejecutar solicitudes CAA desde la línea de comandos. Para compilar esta herramienta y descubrir cómo funciona, realice los siguientes pasos:

$ ant ejbca-caa-cli
$ java -jar
$ java -jar dist /caa-cli/caa-cli .jar --help