web-dev-qa-db-ja.com

redhatに自己署名証明書をインポートする

Red-Hat Linuxで自己署名証明書をインポートするにはどうすればよいですか。

.cer、.crt、または.pemの違いがわからないため、証明書に関する専門家ではなく、グーグル検索で正しい答えを見つけるのは難しいと感じています。そうは言っても、私がやりたいことはロケット科学ではありません(Windowsでは、ブラウザで数回クリックするだけでこれを実行できます)。自己署名証明書を使用するサーバーに接続したいです。たとえば、-no-check-certificateオプションを使用せずにwgetを使用します。これを機能させるには、サーバーの自己署名証明書をRedHatボックスに追加する必要があります。証明書が/ etc/pki/tlsにあることがわかりました。しかし、文句を言わずにwgetを機能させるために実行する必要のあるアクションは途方に暮れています。

次を使用して、サーバーからSSL証明書を取得できます。

openssl s_client -connectサーバー:443

証明書は「BEGIN CERTIFICATEとEND CERTIFICATE」の間にあります。これがどのような証明書かはわかりません。次に、それを/ etc/pki/tls/certsディレクトリに配置し、知らないopenssl secertソースを適用する必要があります。手伝ってくれますか?

18
atomcoffee

特定のサイト証明書をOpenSSLの信頼データベースにインポートする方法がわかりません(私がしたいと思います!)が、自己署名証明書について話しているので、新しい信頼証明書としてインポートしてアプローチすることができますCA証明書。ただし、警告:その証明書によって署名されているサイトも信頼することになります。

証明書を見つけてダウンロードする

次の方法で、サイトから直接自己署名証明書を直接ダウンロードできます。

_openssl s_client -connect server:443 <<<'' | openssl x509 -out /path/file
_

only自己署名証明書の場合にこれを行う必要があることに注意してください元の質問)。 証明書が他のCAによって署名されている場合、上記では実行できません。代わりに、適切なCA証明書を見つけてダウンロードする必要があります。

証明書をインポートして信頼する

_update-ca-trust_コマンドは、Fedora 19およびRHEL6で RHEA-2013-1596 を介して追加されました。あなたがそれを持っている場合、あなたのステップは簡単ではありません(しかしroot/Sudoが必要です):

  1. cA証明書を_/etc/pki/ca-trust/source/anchors/_にコピーします
  2. _update-ca-trust enable; update-ca-trust extract_
  3. enableコマンドはRHEL7および最新のFedoraでは必要ないことに注意してください)

Update-ca-trustがない場合は、少し難しくなります(それでもroot/Sudoが必要です):

  1. _cd /etc/pki/tls/certs_
  2. ここにCA証明書をコピーします
  3. ln -sv YOURCERT $(openssl x509 -in YOURCERT -noout -hash).0

PS:質問ではRed Hatについて言及しましたが、Fedora/RHEL以外の何かで同じことをしようとする人にとっては wiki.cacert.org/FAQ/ImportRootCert が役に立つかもしれません。

25
rsaw

次の手順を使用して、やりたいことができます。

  1. SSL証明書(「----- BEGIN CERTIFICATE -----」および「----- END CERTIFICATE -----」行を含む)をディレクトリ「/etc/pki/tls/certs "-例として、「myserver.pem」と呼びましょう。
  2. 実行してこの証明書の証明書ハッシュを計算します

    openssl x509 -noout -hash -in /etc/pki/tls/certs/myserver.pem

    例のために、ハッシュ値が「1a2b3c4d」であると仮定しましょう。

  3. 次のように、このハッシュ値に基づいてcertsディレクトリにシンボリックリンクを作成します。

    ln -s /etc/pki/tls/certs/myserver.pem /etc/pki/tls/certs/1a2b3c4d.0

    このディレクトリには、同じハッシュ値にハッシュする証明書が他にないことを前提としています-「1a2b3c4d.0」がすでにある場合は、代わりにリンクを「1a2b3c4d.1」にします(または、「 .1 "、"。2 "などを作成します)

wgetおよびSSLを使用する他のツールは、その証明書を有効として認識します。 GUIを使用してこれを行うより簡単な方法があるかもしれませんが、コマンドラインを介してそれを行うには動作します。

5
patbarron