GNU/Linux >> Znalost Linux >  >> Linux

Nelze volat metodu get na nedefinované hodnotě na export-import.lib [OpenCA]

Než budeme mluvit o chybě a jejím řešení, zde je moje nastavení OpenCA – je to offline certifikační úřad. tj. RA (online registrační autorita, která zahrnuje RA &NODE) ​​a CA (offline certifikační autorita, která zahrnuje CA a NODE) ​​je nainstalován na různých počítačích. To znamená, že RA a CA komunikují prostřednictvím metody Data Exchange, kterou provádí knihovna s názvem export-import.lib . Například certifikát CA a jeho konfigurace lze exportovat z počítače CA a importovat do počítače RA. Pokud vše půjde dobře, pak by měla být data mezi CA a RA bez problémů vyměněna. Ale nestalo se, při výměně dat z CA do RA se mi zobrazila chyba „Can't call method get on a undefined value at export-import.lib“. Tento tutoriál vysvětlí, jak to opravit.

Níže je úplná chyba při provádění importu @ 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čkoli certifikát CA pod cestou:/home/openca/var/openca/crypto/cacerts/ a CRL pod /home/openca/var/openca/crypto/crls/ je importován správně, certifikát CA nebyl importován do databáze! Nejprve jsem tedy měl podezření, zda počítač CA exportoval data správně (myslím tím, zda byl certifikát CA exportován správně?) v ca-down soubor tar.

Poznámka:

ca-down je soubor tar používaný pro výměnu dat mezi RA a CA. Může to být jiný soubor ve vašem nastavení a stejný lze nakonfigurovat v node konfigurační soubory.

Ověřte certifikát CA v souboru tar ca-down jak je uvedeno níže:

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

Z výše uvedeného snímku obrazovky můžete pochopit, že certifikát CA byl exportován správně. Import se však nepodařilo aktualizovat v databázi.

Poté, co jsem strávil spoustu času, chápu, že OpenCA používá dva adresáře "upload" &"download" pod /home/openca/var/openca/log/ ke správě výměny dat. Překvapivě tyto dva adresáře chyběly a to byl důvod chyby – Nelze volat metodu na nedefinovanou hodnotu na export-import.lib.

Takže vše, co musím udělat, je vytvořit upload a download adresáře pod log složku a poskytnout potřebná oprávnění pro webový server, aby do ní vytvořil soubor. A je to! Výměna dat mezi CA a RA probíhala hladce.


Linux
  1. Výukový program programování Linux C, část 8 – Volání podle hodnoty versus volání podle ukazatele/adresy

  2. Výukový program programování Linux C, část 8 – Volání podle hodnoty versus volání podle ukazatele/adresy

  3. Volání nedefinované funkce simplexml_load_file() – chyba PHP [vyřešeno]

  1. Jak získat návratovou hodnotu z CHILD PROCESS?

  2. Jak přimět CRON, aby volal na správné PATH

  3. Jak mohu získat jedinečné hodnoty z pole v Bash?

  1. GDB:lx-symbols nedefinovaný příkaz

  2. Jak mohu získat bezpečnou konfiguraci oh-my-zsh pro celý systém?

  3. Může eBPF upravit návratovou hodnotu nebo parametry syscall?