GNU/Linux >> Tutoriales Linux >  >> Linux

No se puede llamar al método obtener un valor indefinido en export-import.lib [OpenCA]

Antes de hablar sobre el error y su solución, aquí está mi configuración de OpenCA:es una autoridad de certificación fuera de línea. es decir, RA (autoridad de registro en línea que incluye RA &NODE) ​​y CA (autoridad de certificación fuera de línea que incluye CA y NODO) la configuración se instala en diferentes máquinas. Significa que RA y CA se comunican a través del método de intercambio de datos, que se realiza mediante una biblioteca llamada export-import.lib . Por ejemplo, el certificado de CA y sus configuraciones se pueden exportar desde la máquina de CA e importar a la máquina de RA. Si todo va bien, los datos deberían intercambiarse entre CA y RA sin ningún problema. Pero no fue así, recibí un error "No se puede llamar al método obtener un valor indefinido en export-import.lib" al intercambiar datos de CA a RA. Este tutorial explicará cómo solucionarlo.

A continuación se muestra el error completo al realizar import @ RA machine.

Error Code: 700

The compilation of the command cmdNodeDownloadCert failed.
Can't call method "get" on an undefined value at 
/home/openra/lib/openca/functions/export-import.lib line 2225.

A través del certificado de CA en la ruta:/home/openca/var/openca/crypto/cacerts/ y CRL en /home/openca/var/openca/crypto/crls/ se importa correctamente, ¡el certificado de CA no se importó a la base de datos! Entonces, al principio sospeché si la máquina CA había exportado los datos correctamente (es decir, ¿si el certificado CA se exportó correctamente?) en ca-down archivo tar.

Nota:

ca-down es el archivo tar utilizado para el intercambio de datos entre RA y CA. Podría ser un archivo diferente en su configuración y lo mismo se puede configurar en node archivos de configuración.

Verifique el Certificado CA en el archivo tar ca-down como se muestra a continuación:

tar -tvf /home/openca/var/openca/tmp/ca-down

De la captura de pantalla anterior, puede comprender que el certificado de CA se ha exportado correctamente. Pero la importación no pudo actualizar lo mismo en la base de datos.

Después de pasar mucho tiempo, entiendo que OpenCA usa dos directorios "upload" &"download" en /home/openca/var/openca/log/ para gestionar el intercambio de datos. Sorprendentemente, faltaban esos dos directorios y ese fue el motivo del error: No se puede llamar al método obtener un valor indefinido en export-import.lib.

Así que todo lo que tengo que hacer es crear upload y download directorios bajo el log carpeta y proporcione los permisos necesarios para que el servidor web cree un archivo en ella. ¡Eso es todo! Ahora el intercambio de datos entre CA y RA transcurrió sin problemas.


Linux
  1. Cómo hacer que CRON llame en las RUTAS correctas

  2. Error fatal:llamada a la función indefinida curl_init()

  3. ¿Puede exit() fallar al terminar el proceso?

  4. ¿Dónde puedo encontrar el código fuente de la llamada al sistema?

  5. ¿Cómo puedo obtener valores únicos de una matriz en Bash?

¿Cómo puedo obtener el estado del teclado en Linux?

GDB:comando indefinido de símbolos lx

¿Cómo puedo obtener una configuración oh-my-zsh segura para todo el sistema?

¿Puedo moverme usando pip install --cert?

Obtener el valor numérico de chmod para un archivo

La variable 'general_log_file' no se puede establecer en el valor de '/var/lib/msyql/ubuntu.log'