0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめてのおつかい!「SSL証明書」

Last updated at Posted at 2021-11-25

はじめに

外部に公開するWEBサイトを建てるため、サーバとセキュアな通信(HTTPS)をするためにSSLサーバ証明書を買うことになりました。

SSLサーバ証明書が果たす役割とは

  1. SSL/TLSの仕組みで、通信内容の盗み見や改ざんを防ぐ
  2. 認証局(*)がWEBサイトの運営組織の実在を証明する

*認証局、通称CA:Certification Authorityと呼びます。
認証局が、サーバのドメイン名や組織情報を調査して、このWEBサイトは安全ですといった旨の証明書を発行します。

SSLサーバ証明書の運用の流れ

  1. WEBサイト運営者は、認証局にサイトのドメインを証明する証明書を申請する
  2. 認証局は、運営者の申請内容を確認して、SSLサーバ証明書を発行する
  3. サイトを閲覧する人は、証明書をブラウザで確認することができる

ドメインとは

サーバーを識別するためにIPアドレスが使われます。
一方でIPアドレスは数字の羅列のため、人間には覚えにくいです。
ドメインは、人間でもわかるよう文字列でサーバを識別するものです。

DNSとは

ドメイン名からIPアドレスを特定することを名前解決といいます。
名前解決する仕組みのことをDNS(Domain Name System)といいます。
DNSの仕組みは次のような流れです。

  1. DNSサーバが管理するドメインであれば、登録されているIPを返す。
  2. DNSサーバが管理するドメインのサブドメインであれば、サブドメインを管理するDNSサーバに問い合わせる
  3. それ以外のドメインであれば、上位のDNSサーバ(.coや.jp)に問い合わせる。

SSL証明書のおつかい

まずはSSLの種類を決定します。

  • ドメイン認証:ドメイン名の正しさを保証する
  • 企業実在認証:ドメイン名と正しさとドメインを管理する会社の実在を保証する
  • EV(Extended Validation)認証:ドメインを管理する会社の実在や信頼性まで保証する

WEBサイトに対してドメイン名(こちらで決めたURL)でアクセスできればよかったため、ドメイン認証にしました。

次に購入先を調査します。

  • セクティゴジャパン
  • さくらインターネット
  • GMO
  • KDDIウェブコミュニケーションズ

金額面と手軽さ(メール認証による申し込みが出来る)から、セクティゴジャパンに決定しました。

SSL証明書をおつかいする流れ

STEP1. 新規会員登録する

新規会員登録をします。

STEP2. カートに入れる

image.png

STEP3. CSRを生成する

CSR(Certificate Signing Request)とは、認証局へ送信する署名リクエストを指します。CSRの実態は文字列です。

こちらのサイトを参考に作成します。
私はWSL2(Windows10内で動くUbuntu)を利用しました。

# openssl genrsa -out (秘密鍵ファイル名) (キー長)
openssl genrsa -out private.key 2048
# openssl req -new -key (秘密鍵ファイル名) -out (CSRファイル名)
openssl req -new -key private.key -out private.csr

# 聞かれるので入力していきます。
# xxxは環境に合わせて修正します。
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Chiyoda-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:xxx Corporation
Organizational Unit Name (eg, section) []:xxx Dept
Common Name (e.g. server FQDN or YOUR name) []:xxx.co.jp
Email Address []:
A challenge password []:
An optional company name []:

# CSRの内容を確認する
less private.csr

# lessの閉じ方はQキーを押下する

STEP4. 必要情報を入力する

サーバタイプはOtherを選択して、CSRキーを先程のキーの中身をコピペします。

image.png

image.png

STEP5. 発行手続き案内のメールを待つ

購入すると購入完了の旨のメールを受領します。
あとは証明書の発行手続きのメールを待ちます。
セクティゴジャパンの場合、以下3つの手続き方法がありました。

  • メール認証
  • WEB認証
  • DNS認証

今回は、会社DNSサーバに中継してもらう制約上、メール認証を選択しました。

STEP6. メールを受領してバリデーション

無事に購入手続きが完了すると、COMODOからメール認証の案内メールが届きます。
To complete the domain control validation for this certificate, please click here

click hereを押下して、メールに記載されているvalidation codeをコピペします。

image.png

image.png

無事にバリデーションが完了しました。

STEP7. SSL証明書を変換する

SSL証明書であるCRTファイルをPFXファイル形式の証明書に変換します。
発行されたサーバ証明書CRTファイルと、CSRファイルを作る際に準備いただいた秘密鍵を利用して行います。
詳細は下記です。

openssl pkcs12 -export -inkey <秘密鍵keyファイル名> -in <SSLサーバ証明書crtファイル名> -out <任意pfxファイル名>
# パスフレーズなしのPFXファイルがインポートできないことがあるので、パスフレーズを設定します。

以上です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?