GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Die Methode kann nicht aufgerufen werden, um einen undefinierten Wert in export-import.lib [OpenCA] zu erhalten

Bevor wir über den Fehler und seine Lösung sprechen, hier ist mein OpenCA-Setup – Es ist eine Offline-Zertifizierungsstelle. d.h. RA (Online-Registrierungsstelle, die RA &NODE umfasst) und CA (Offline-Zertifizierungsstelle, die CA &NODE umfasst) Setup wird auf verschiedenen Computern installiert. Dies bedeutet, dass RA und CA über die Datenaustauschmethode kommunizieren, die von einer Bibliothek namens export-import.lib durchgeführt wird . Beispielsweise können das CA-Zertifikat und seine Konfigurationen von der CA-Maschine exportiert und in die RA-Maschine importiert werden. Wenn alles gut geht, sollten die Daten problemlos zwischen CA und RA ausgetauscht werden. Aber das tat es nicht, ich bekam einen Fehler „Can’t call method get on an undefined value at export-import.lib“ während ich Daten von CA nach RA austauschte. In diesem Tutorial wird erklärt, wie man dasselbe behebt.

Unten ist der vollständige Fehler beim Ausführen von 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.

Obwohl das CA-Zertifikat unter dem Pfad:/home/openca/var/openca/crypto/cacerts/ und CRLs unter /home/openca/var/openca/crypto/crls/ korrekt importiert wurde, wurde das CA-Zertifikat nicht in die Datenbank importiert! Also habe ich zuerst vermutet, ob die CA-Maschine die Daten richtig exportiert hat (ich meine, ob das CA-Zertifikat richtig exportiert wurde?) in ca-down tar-Datei.

Notiz:

ca-down ist die tar-Datei, die für den Datenaustausch zwischen RA und CA verwendet wird. Es könnte eine andere Datei in Ihrem Setup sein und dieselbe kann in node konfiguriert werden Konfigurationsdateien.

Überprüfen Sie das CA-Zertifikat in der Tar-Datei ca-down wie unten gezeigt:

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

Aus dem obigen Screenshot können Sie erkennen, dass das CA-Zertifikat ordnungsgemäß exportiert wurde. Aber der Import konnte das gleiche in der Datenbank nicht aktualisieren.

Nachdem ich viel Zeit damit verbracht habe, verstehe ich, dass die OpenCA zwei Verzeichnisse "upload" verwendet &"download" unter /home/openca/var/openca/log/ Datenaustausch verwalten. Überraschenderweise fehlten diese beiden Verzeichnisse und das war der Grund für den Fehler – Kann Methode nicht auf einen undefinierten Wert bei export-import.lib aufrufen.

Also muss ich nur upload erstellen und download Verzeichnisse unter log Ordner und erteilen Sie dem Webserver die erforderlichen Berechtigungen, um darin eine Datei zu erstellen. Das ist es! Jetzt lief der Datenaustausch zwischen CA &RA reibungslos.


Linux
  1. Aufruf der undefinierten Funktion simplexml_load_file() – PHP-Fehler [Gelöst]

  2. Ich habe Strg-Alt-F6 unter Linux verwendet und kann meinen Bildschirm nicht zurückbekommen

  3. Wie man CRON dazu bringt, die richtigen PATHs aufzurufen

  4. Wie kann ich den Tastaturstatus unter Linux abrufen?

  5. Kann exit() den Prozess nicht beenden?

GDB:lx-symbols undefinierter Befehl

Wie erhalte ich eine sichere systemweite oh-my-zsh-Konfiguration?

Linux python3 - Lib 'SQL Server' kann nicht geöffnet werden

Kann ich mit pip install --cert umgehen?

Holen Sie sich den chmod-Zahlenwert für eine Datei

Variable „general_log_file“ kann nicht auf den Wert von „/var/lib/msyql/ubuntu.log“ gesetzt werden