GNU/Linux >> Linux Esercitazione >  >> Linux

Impossibile chiamare il metodo per ottenere un valore non definito su export-import.lib [OpenCA]

Prima di parlare dell'errore e della sua soluzione, ecco la mia configurazione OpenCA:è un'autorità di certificazione offline. cioè, RA (autorità di registrazione online che include RA e NODE) ​​e CA (l'autorità di certificazione offline che include CA e NODE) ​​è installata su macchine diverse. Significa che RA e CA comunicano tramite il metodo Data Exchange, che viene eseguito da una libreria chiamata export-import.lib . Ad esempio, il certificato CA e le sue configurazioni possono essere esportati dalla macchina CA e importati nella macchina RA. Se tutto va bene, i dati dovrebbero essere scambiati tra CA e RA senza alcun problema. Ma non è stato così, ho ricevuto un errore "Impossibile chiamare il metodo per ottenere un valore non definito su export-import.lib" durante lo scambio di dati da CA a RA. Questo tutorial spiegherà come risolvere lo stesso.

Di seguito è riportato l'errore completo durante l'esecuzione dell'importazione @ macchina RA.

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.

Sebbene il certificato CA nel percorso:/home/openca/var/openca/crypto/cacerts/ e CRL sotto /home/openca/var/openca/crypto/crls/ è importato correttamente, il certificato CA non è stato importato nel database! Quindi, all'inizio ho sospettato che la macchina della CA avesse esportato i dati correttamente (voglio dire, se il certificato della CA fosse stato esportato correttamente?) in ca-down tar.

Nota:

ca-down è il file tar utilizzato per lo scambio di dati tra RA e CA. Potrebbe essere un file diverso nella tua configurazione e lo stesso può essere configurato in node file di configurazione.

Verifica il certificato CA nel file tar ca-down come mostrato di seguito:

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

Dallo screenshot sopra, puoi capire che il certificato CA è stato esportato correttamente. Ma l'importazione non è riuscita ad aggiornare lo stesso nel database.

Dopo aver speso molto tempo, capisco che OpenCA utilizza due directory "upload" &"download" sotto /home/openca/var/openca/log/ per gestire lo scambio di dati. Sorprendentemente mancavano queste due directory e questo era il motivo dell'errore: Impossibile chiamare il metodo per ottenere un valore non definito su export-import.lib.

Quindi tutto ciò che devo fare è creare upload e download directory sotto il log cartella e fornire le autorizzazioni necessarie affinché il server Web crei un file al suo interno. Questo è tutto! Ora lo scambio di dati tra CA e RA è andato avanti senza intoppi.


Linux
  1. Ho usato Ctrl-Alt-F6 in Linux e non riesco a riavere il mio schermo

  2. Come ottenere un valore di ritorno da CHILD PROCESS?

  3. Come posso ottenere lo stato della tastiera in Linux?

  4. Errore irreversibile:chiamata alla funzione non definita curl_init()

  5. exit() può non riuscire a terminare il processo?

Esercitazione sulla programmazione C Linux Parte 8 - Chiamata per valore Vs Chiamata per puntatore/indirizzo

Esercitazione sulla programmazione C Linux Parte 8 - Chiamata per valore Vs Chiamata per puntatore/indirizzo

Chiamata alla funzione non definita simplexml_load_file() – Errore PHP [risolto]

Come fare in modo che CRON chiami nei PERCORSI corretti

Come posso ottenere un binario da un file .py

La variabile 'general_log_file' non può essere impostata sul valore di '/var/lib/msyql/ubuntu.log'