GNU/Linux >> Tutoriels Linux >  >> Linux

Impossible d'appeler la méthode get sur une valeur indéfinie à export-import.lib [OpenCA]

Avant de parler de l'erreur et de sa solution, voici ma configuration OpenCA - C'est une autorité de certification hors ligne. c'est-à-dire RA (autorité d'enregistrement en ligne qui inclut RA et NODE) ​​et CA (autorité de certification hors ligne qui inclut CA et NODE) ​​la configuration est installée sur différentes machines. Cela signifie que RA et CA communiquent via la méthode d'échange de données, qui est effectuée par une bibliothèque appelée export-import.lib . Par exemple, le certificat CA et ses configurations peuvent être exportés depuis la machine CA et importés dans la machine RA. Si tout se passe bien, les données devraient être échangées entre CA et RA sans aucun problème. Mais ce n'est pas le cas, j'ai eu une erreur "Impossible d'appeler la méthode sur une valeur indéfinie à export-import.lib" lors de l'échange de données de CA à RA. Ce didacticiel vous expliquera comment résoudre le problème.

Vous trouverez ci-dessous l'erreur complète lors de l'exécution de l'importation sur la machine 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.

Bien que le certificat CA sous le chemin :/home/openca/var/openca/crypto/cacerts/ et CRL sous /home/openca/var/openca/crypto/crls/ est importé correctement, le certificat CA n'a pas été importé dans la base de données ! Donc, au début, j'ai suspecté que la machine CA ait correctement exporté les données (je veux dire, si le certificat CA a été exporté correctement ?) dans ca-down fichier tar.

Noter:

ca-down est le fichier tar utilisé pour l'échange de données entre RA et CA. Il peut s'agir d'un fichier différent dans votre configuration et le même peut être configuré dans node fichiers de configuration.

Vérifiez le certificat CA dans le fichier tar ca-down comme indiqué ci-dessous :

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

À partir de la capture d'écran ci-dessus, vous pouvez comprendre que le certificat CA a été correctement exporté. Mais l'importation n'a pas réussi à mettre à jour la même chose dans la base de données.

Après avoir passé beaucoup de temps, je comprends que l'OpenCA utilise deux répertoires "upload" &"download" sous /home/openca/var/openca/log/ gérer les échanges de données. Étonnamment, ces deux répertoires manquaient et c'était la raison de l'erreur - Impossible d'appeler la méthode obtenir une valeur indéfinie sur export-import.lib.

Donc tout ce que j'ai à faire est de créer upload et download répertoires sous le log dossier et fournissez les autorisations nécessaires au serveur Web pour y créer un fichier. C'est ça! Maintenant, l'échange de données entre CA et RA s'est déroulé sans heurts.


Linux
  1. Appel à la fonction indéfinie simplexml_load_file() – Erreur PHP [Résolu]

  2. Comment faire en sorte que CRON appelle les bons PATH

  3. Comment puis-je obtenir l'état du clavier sous Linux?

  4. exit() peut-il échouer à terminer le processus ?

  5. Où puis-je trouver le code source des appels système ?

Erreur fatale :appel à la fonction indéfinie curl_init()

GDB :commande indéfinie lx-symbols

Comment puis-je obtenir une configuration oh-my-zsh sécurisée à l'échelle du système ?

eBPF peut-il modifier la valeur de retour ou les paramètres d'un appel système ?

Puis-je me déplacer en utilisant pip install --cert ?

La variable 'general_log_file' ne peut pas être définie sur la valeur de '/var/lib/msyql/ubuntu.log'