エラーとその解決策について説明する前に、OpenCAの設定を示します。これはオフラインの認証局です。つまり、RA
(RAとNODEを含むオンライン登録局)およびCA
(CAとNODEを含むオフライン認証局)セットアップは別のマシンにインストールされます。つまり、RAとCAは、export-import.lib
というライブラリによって実行されるデータ交換メソッドを介して通信します。 。たとえば、CA証明書とその構成をCAマシンからエクスポートし、RAマシンにインポートすることができます。すべてがうまくいけば、データは問題なくCAとRAの間で交換されるはずです。しかし、そうではありませんでした。CAからRAにデータを交換しているときに、「export-import.libでメソッドが未定義の値を取得できません」というエラーが発生しました。このチュートリアルでは、同じものを修正する方法を説明します。
以下は、インポート@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.
パスの下のCA証明書:/home/openca/var/openca/crypto/cacerts/
およびCRLは/home/openca/var/openca/crypto/crls/
の下にあります が正しくインポートされているのに、CA証明書がデータベースにインポートされていません。したがって、最初は、CAマシンがca-down
でデータを適切にエクスポートしたかどうか(つまり、CA証明書が適切にエクスポートされたかどうか)を疑っていました。 tarファイル。
ca-downは、RAとCA間のデータ交換に使用されるtarファイルです。セットアップ内の別のファイルである可能性があり、同じものをnode
で構成できます。 構成ファイル。
tarファイルca-down
でCA証明書を確認します 以下に示すように:
tar -tvf /home/openca/var/openca/tmp/ca-down
上のスクリーンショットから、CA証明書が正しくエクスポートされていることがわかります。しかし、インポートはデータベースで同じものを更新できませんでした。
多くの時間を費やした後、OpenCAが2つのディレクトリ"upload"
を使用していることを理解しました &"download"
/home/openca/var/openca/log/
の下 データ交換を管理します。驚いたことに、これら2つのディレクトリが欠落していたため、エラーが発生しました。export-import.libでメソッドgetが未定義の値を取得することはできません。
したがって、私がする必要があるのは、upload
を作成することだけです。 およびdownload
log
の下のディレクトリ フォルダを作成し、Webサーバーにファイルを作成するために必要な権限を提供します。それでおしまい!これで、CAとRA間のデータ交換がスムーズに進みました。