Webサーバー向けのテストをしていると、代理証明書が必要となるケースが多いです。特に、インターネット上にあるサーバーに対しての通信テストとなると、それらのサーバー署名書をまず手に入れ、その内容を元に、代理証明書を作成する必要があります。
インターネット上にあるサーバーの証明書ですが、実は簡単に内容を取得することができます。パケットキャプチャ(TCP ダンプ)を取得するのです。
パケットキャプチャには、通信の全てが含まれています。当然、サーバー証明書も含まれます。このやり取りの証明書の部分を指定して、証明書だけを抜き出せば良いのです。
サーバ証明書の抜き出し方
まず、証明書を取得したいサーバーにアクセスをし、その通信をWiresharkを使ってパケットキャプチャします。
Server Hello が飛んできた後に、Certificateのやり取りが見えます。この中に証明書が入っています。上の画面キャプチャーの青色で反転させているパケットです。このパケットの中を見ていきます。
- Secure Sockets Layer
- TLSV1.2 Record Layer: Handshake Protocol : Certificate
- Handshake Protocol: Certificate
- Certificates (バイト数)
の順にクリックして、詳細を表示させます。
その中に、Certificate (id-atCommonName=ドメイン名)のパケットが見えます。
id-at-ConnomName=w.usabilla.com を取り出してみます。
そのパケットを選択し、右クリックメニューを表示させます。
メニューから、Export Selected Packet Bytes… をクリックします。
このパケットを、証明書として保存します。名前をつけて保存のウィンドウが表示されますので、ファイル名のところで名前を指定します。
この時のポイントは、拡張子を「.crt」にして保存することです。こうすることで、Windows 上からは証明書として認識されますので、ダブルクリックで中が見られるようになります。
証明書の内容を見てみる
名前をつけて保存した証明書ファイルを開いて、中をみてみましょう。
w.usabilla.com.crt の証明書を、駄ぬんるクリックして開いてみます。
発行社はAmazonなんですね。
「詳細」タブをクリックして、証明書の詳細も見てみましょう。
証明書の記載項目の一覧が表示されますので、「サブジェクト」をクリックしてみます。
CN: Common Name が表示されましたね。
次に、「サブジェクト代替名」をクリックしてみます。
SAN: Subject Alternative Name が表示されましたね。
証明書の中身が分かりましたので、これで代理証明書を作成することが可能です。自分でCA局のサーバーを建てて、そこでサインして発行するのも良いのですが、オンラインで簡単に証明書を発行できるサイトがあります。
これも使ってみてください。
関連する記事:
- MS Azure を学ぶ (3) リソースグループの作成と管理 2
- Raspberry PiでのPi-Hole設定ガイド
- UbuntuとQNAPのiSCSI統合方法
- Linux の Cron の基本的な使い方と設定方法
- Server Name Indication (SNI) とは
- Video CC TranslatorでUdemyを快適に学ぶ
- LPIC を学ぶ(1) lsof コマンドについて
- MS Azure を学ぶ(2)Azure Active Directory とオンプレ Active Directory の違い
- MS Azure を学ぶ (1) リソースグループの作成と管理
- TimeMachineEditorでMacバックアップを最適化する方法
最近の記事:
- 複数の宛先に ping を打つことができる「fping」
- ネイティブの英語 7 “A cup of joe”
- 死刑確定囚・野比のび太 – 第二十三話・昇華するのび太の鬱屈
- 死刑確定囚・野比のび太 – 第二十二話・静の怒りと武の苛立ち
- 死刑確定囚・野比のび太 – 第二十一話・夫婦間の亀裂とのび太の影響
- 死刑確定囚・野比のび太 – 第二十話・のび太の初出勤: 恐れと葛藤
- 死刑確定囚・野比のび太 – 第十九話・ジャイアンとのび太の絆
- 死刑確定囚・野比のび太 – 第十八話・引きこもりの息子と家族のジレンマ
- 死刑確定囚・野比のび太 – 第十七話・ドラえもんと30歳ののび太の葛藤
- 死刑確定囚・野比のび太 – 第十六話・剛田商店の成長と静香の貢献