SSL証明書のOV証明書(ファイル認証)についてのまとめ


~最初に~

・今回行ったのはwebの証明書
・webサーバ(apache)は稼働しているものでopensslはインストール済み

なので1~10まで書いていくことにする

まず証明書とはざっくり

クライアントとサーバ間の通信を暗号化する
証明書のランクによって発行する認証局が証明してくれるものが変わってくる

今回のOV証明書の例だと
企業が実在するかどうかを証明してくれるものになる
これがあると企業に成りすましたサイトかどうかを見分けることができる

大雑把に作業内容をば

・秘密鍵を作成する
・CSRを作成する
・CSRを認証局に提出する
・認証局からアクティベート申請を求められる(CSRでは埋めきれない企業情報)
・認証局からの電話に対応する
・認証局からファイル証明書用のファイルをメールで渡される
・サーバ側で指定された場所に設置する
・認証局がそのファイルを確認する
・認証局が証明書ファイルの内容を送ってくる
・サーバ側で指定された位置に秘密鍵と証明書を設置する
終わり
全体通してやった感想としては勉強になる結構長くてだるいなと思った

実際の作業手順

秘密鍵の作成(2048ビット長)

root#openssl genrsa -out server.key 2048 

CSRの作成(聞かれたことに淡々と答えていく)

root#openssl req -new -key server.key -out server.csr

CSRの提出
認証局からアクティベート申請を求められる(CSRでは埋めきれない企業情報)
認証局からの電話に対応する
認証局からファイル認証用のファイルをメールで渡される
所定の位置にファイル認証用のファイルを設置する(必要に応じてディレクトリとパーミッションを調整する)
※この際に認証用のファイルをBOM形式にしておく

bomファイルかどうかの確認

root#file 認証用ファイル

bomファイルに書き換え(UTF-8)

root#nkf --overwrite --oc=UTF-8-BOM 認証用ファイル

※centos7では標準リポジトリではnkfが入ってないからepel-releseリポジトリをインストールする必要があるのでインストールしておく
送られてきた証明書を設置する前にsslのconfigをいじる必要がありそうならバックアップをとる

届いた証明書と秘密鍵のペアがあってるか検証する

証明書のチェックサムの検証
root#openssl x509 -noout -modulus -in server.crt | openssl md5
秘密鍵のチェックサムの検証
root#openssl rsa -noout -modulus in server.key | openssl md5
各々で出力された値が同じならペアという検証が完了する

(ちなみにどのように検証しているかというと秘密鍵と証明書に含まれている公開鍵の部品みたいなものをmd5形式でハッシュ化して比べている)

ペアという確認が取れたらファイルを設置する
この際にファイルを設置するまたは書き換える前にconfigファイルのバックアップファイルを作成しておく

念のため構文チェックを行う

httpd -t
構文に問題がなければ下記が出力される
Syntax OK

サーバーを再起動させる

systemctl restart httpd

対象サーバのページを見て証明書が更新されていればOK