リモートサーバーのSSL証明書をファイルとしてローカルに保存する方法

certificate ssl

私はリモートサーバーのSSL証明書をダウンロードする必要があります(HTTPSではありませんが、SSLのハンドシェイクは、Google Chrome / IE / wgetとcurlはすべての証明書チェックの失敗エラーを与えるのと同じでなければなりません)と、私は私のIT担当者が私にCA証明書を与えるために取得することができないので、私のラップトップのWindowsの証明書ストアで信頼されているように証明書を追加します

これは事務連絡用なので、実際のクライアントを使って証明書を取得することはできません

どうすればいいのかというと、私はWindows 7とLinuxの山を持っているので、どんなツール/スクリプト言語でも構いません

  376  Kimvais  2010-01-18


ベストアンサー

OpenSSLにアクセスできる人は試してみてください

openssl s_client -connect {HOSTNAME}:{PORT} -showcerts

と {HOSTNAME} と {PORT} を任意の値に置き換えてください

361  gbroiles  2010-08-17


証明書をプルしてダウンロードする簡単な方法は、次のコマンドを実行して、-showcerts からの出力を x509 ssl コマンドにパイプして、余計なものをすべて削除することです。例えば、以下のようにします

openssl s_client -showcerts -connect server.edu:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem

証明書を使うには、wgetで

wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem

291  elec3647  2013-09-05


正直言って、今まで試したことがない(必要ない)のですが、Firefoxで試してみたところ、保存には問題ないようです

  1. 上部のSSL証明書のアイコンをクリック / 下部の南京錠をクリックします
  2. View Certificateをクリック
  3. Detailsタブをクリックします
  4. 階層の中から、どの証明書が欲しいかを選択します
  5. Click Export

alt text

130  William Hilsum  2010-01-18


Chromeブラウザを使って証明書をエクスポートする

  1. SSL(https://whatever)で接続します

2.ロックシンボルをクリックして、詳細をクリックします

  1. Chrome バージョン 56 以降では、次のようにしてください: スリードットメニュー -> その他のツール -> 開発者ツールに移動し、セキュリティタブをクリックします。これにより、証明書の表示ボタン付きのセキュリティ概要が表示されます

  2. 証明書の表示」ボタンをクリックします

    モーダルウィンドウが開きます。2つのペインがあります。一番上にはサイトの証明書 (最後にリストされたもの)、中間証明書、ルート証明書 (一番上のもの) のトラスト階層が表示されます

    2つ目の大きなペインには、証明書の1つの詳細が表示されています

    中間証明書は0個以上あるかもしれません

    ルート証明書のアイコンは金色の縁取りがされていることに注意してください。他の証明書には青の縁取りがあります

    下のスクリーンショットをご覧ください

  3. 証明書をエクスポートするには

    1. まず、信頼階層で証明書のアイコンをクリックします
    2. 証明書はモーダルのメイン部分に表示されます
    3. モーダルのメイン部分にある証明書の大きなアイコンをクリックします。アイコンをデスクトップにドラッグします。すると、Chrome が証明書をデスクトップにコピーします

enter image description here

55  Larry K  2016-12-26


これは gbroiles さんの回答ですが、私が指摘したかったのは cURL プロジェクト リモートサーバの SSL 証明書を保存するために openssl を使用することについて、もう少し詳細を記したページがあるということです

  • openssl s_client -connect {HOSTNAME}:{PORT} | tee logfile
  • QUITと入力し、Enter / Returnキーを押します
  • BEGIN CERTIFICATE」と「END CERTIFICATE」マーカーの間に記載されます
  • 証明書のデータを見たい場合は

    openssl x509 -inform PEM -in certfile -text -out certdata

    ここで、certfilelogfileから抽出した証明書です。certdataを見てください

20  Daniel Trebbien  2012-10-18


automated

サーバ上のバーチャルホストから正しい証明書を取得するためには、-servernameが必要でした

openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > host.name.com.pem

デスクトップ用の証明書に変換することもできます

openssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer

最後の部分は、私が使用したMacのキーチェーンのためのWindows上で確認していない、あなたの証明書に追加することですが、似ている必要があります

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain host.name.com.cer

16  Artistan  2018-01-25


これにより、証明書のみを含む結果が得られます

echo QUIT | \
openssl s_client -showcerts -connect hostname:port | \
awk '/-----BEGIN CERTIFICATE-----/ {p=1}; p; /-----END CERTIFICATE-----/ {p=0}' "

2  Archimedes Trajano  2017-05-23


Windows上であれば、はるかに簡単な方法を発見しました。Microsoft Edge (pre-chromium) を試してみて、アドレスバーのロックをクリックすると -> 証明書ダイアログがポップアップして「ファイルにエクスポート」ボタンが表示され、それを .crt ファイルとして保存します

エッジはあまり使わないけど、これは楽勝だったよ

0  Dale Wilbanks  2019-05-03


タイトルとURLをコピーしました