1. メンテナンス・トラブルシュート - SSL 自前の証明書を作成 - 準備

 
1.1 能書き
1.2 証明書発行用ディレクトリ作成
1.3 証明書作成用コンフィグレーションファイル編集

1.1 能書き

 自前の SSL 認証情報を作成する方法について、FreeBSD 各バージョンのウェブサーバ構築の箇所に書いていたのですが、各バージョンでほとんど違いがないのと、長ったらしいので、ここにまとめて書くことにしました。  認証情報の作成に関して、過去、暗号化するためのビットが少ないことはありましたが、OpenSSL を ports または pkg で更新していれば、過去の FreeBSD でも使えるはずです。  以下の手順で認証情報を作成します。

1.2 証明書発行用ディレクトリ作成

 mkdir コマンドで、以下のディレクトリを

/etc/ssl/demoCA             キー、認証証明書作成用ルート
/etc/ssl/demoCA/private     プライベートキー配置用
/etc/ssl/demoCA/crl         証明書失効リスト用
/etc/ssl/demoCA/newcerts    認証証明書配置用
 作成します。

mkdir -pv /etc/ssl/demoCA
mkdir -pv /etc/ssl/demoCA/private
mkdir -pv /etc/ssl/demoCA/crl
mkdir -pv /etc/ssl/demoCA/newcerts

1.3 証明書作成用コンフィグレーションファイル編集

 デフォルトで

/etc/ssl/openssl.cnf
 という、証明書作成用のコンフィグレーションファイルが用意されています。  この標準ファイルを以下の手順で、実際のホスト用に編集しておきます。  編集しておけば、後で証明書発行用のプログラムを動作させるときに何度も同じ内容を入力しなくてもすむようになります。  編集すべきところを順次説明していきます。

[ CA_default ]

dir		= ./demoCA		# Where everything is kept
 を、前項で作成したディレクトリの絶対定義に書き換えます。(この箇所は、意識的に行うならば書き換える必要はありません)

[ CA_default ]

dir		= /etc/ssl/demoCA		# Where everything is kept
 [ req_distinguished_name ] のセクションの項目を書き換えます。

[ req_distinguished_name ]
countryName                     = Country Name (2 letter code)
countryName_default             = AU
                                  ↑
                                  設定値もデフォルトも日本なら JP に書き換えます

countryName_min                 = 2
countryName_max                 = 2

stateOrProvinceName             = State or Province Name (full name)
stateOrProvinceName_default     = Some-State
                                  ↑
                                  都道府県名に書き換えます

localityName                    = Locality Name (eg, city)
localityName_default            = 行ごと入力してここに市町村名を入力します                                  ↑

0.organizationName              = Organization Name (eg, company)
0.organizationName_default      = Internet Widgits Pty Ltd
                                  ↑
                                  会社名・団体名に書き換えます

# we can do this but it is not needed normally :-)
#1.organizationName             = Second Organization Name (eg, company)
#1.organizationName_default     = World Wide Web Pty Ltd

organizationalUnitName          = Organizational Unit Name (eg, section)
#organizationalUnitName_default =
                                 ↑
                                 部署名(必要であれば有効化して入力します)

commonName                     = Common Name (e.g. server FQDN or YOUR name)
commonName_default             = 行ごと入力してここにドメイン名を入力します
commonName_max                 = 64

emailAddress                   = Email Address
emailAddress_default           = 行ごと入力してここにサーバ管理者のメールアドレスを入力します

emailAddress_max               = 64