
すでに質問されていることは承知していますが、何時間も調査したにもかかわらず、有効な解決策を見つけることができませんでした。内部サービスが SSL を使用して相互にバインドできるように、サーバーにルート証明書をインストールしようとしています。
新しいルート CA について知っておくべきこと:
- Apache httpd と PHP
- OpenLDAP クライアント
- Node.js
Apache の場合、ルート証明書を認識する PHP アプリケーションが必要なので、サイトが別の SSL Web サイト (同じ CA によって署名されている) に接続する場合、正常に動作し、自己署名証明書に関するエラーは発生しません。
OpenLDAP については、PHP と同じだと思いますが、使用するモジュールはかなり古く、PEAR でインストールされた Net_LDAP2 です。ローカルの openldap 構成を編集してみましたが、システムでは使用されていないようです。
最後に、parsoid に使用する Node.js です。node.js サーバーは、適切な SSL 接続を確立するために CA を信頼する必要があります。
証明書を /etc/pki/tls/certs/ca-bundle.crt に追加しようとしましたが、ほとんど成功しませんでした。
httpd はルート CA を認識しませんが、tomcat や 389 などの他のサービスを動作させることに成功しました。
ご協力ありがとうございます。
答え1
私の RHEL 6 ボックスのman 8 update-ca-trust
マニュアル ページには、システム全体の CA 証明書と関連する信頼関係をどのように管理できるか、またどのように管理すべきかについての非常に詳細な説明があります。
上記のコメントが示すように、多くの場合、構成はアプリケーション固有です。
答え2
SSL 初心者にとってよりアクセスしやすいように、いくつかのコマンド ラインを作成しました。
PKIフォルダに移動する
$ cd /etc/pki/tls/certs/
(ハード)リンクとバックアップ証明書を検証する
$ cp ca-bundle.crt /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.bak
$ cp ca-bundle.trust.crt /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt.bak
CAチェーンをCentOSにアップロードする
$ scp <cachain> root@sydapp28:/tmp
SSH(Putty?)またはローカル経由でCentOSに接続する
$ ssh -C root@sydapp28
IF PKCS12 CAChain: 「内部 CA チェーン証明書を PEM 形式に変換し、ヘッダーを削除します」:
$ cd /tmp ; openssl pkcs12 -nodes -in <cachain.pfx.p12> | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cachain.pem
CentOSに内部CAを追加する
$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
$ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/ca-bundle.trust.crt
$ reboot