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

 クラウディア
1. 概要
2. 証明書発行用ディレクトリ作成
3. 証明書作成用コンフィグレーションファイル編集

1. 概要

 バージョンにより、元となる

/etc/ssl/openssl.cnf
 の行数が微妙に変わっていたりします。  「FreeBSD 14.0 RELEASE」は、その前の「FreeBSD 13.2 RELEASE」「FreeBSD 12.4 RELEASE」とは異なっていますので、改めて記述します。  変更内容は、変わっていません。  以下の項目は、すべて、「root」ユーザ権限で。

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

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

 コンフィグレーションファイルを編集します。  本項では、「FreeBSD 14.0 RELEASE」でデフォルトで用意されているものを元としています。  この標準ファイルを以下の手順で、実際のホスト用に編集しておきます。  編集しておけば、後で証明書発行用のプログラムを動作させるときに、何度も同じ内容を入力しなくてもすむようになります。  「FreeBSD 14.0 RELEASE」では、このデフォルト設定が効果なくなった項目が増えました。  編集すべきところを順次説明していきます。

vi /etc/ssl/openssl.cnf

####################################################################
[ CA_default ]

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

####################################################################
[ CA_default ]

dir		= /etc/ssl/demoCA	# Where everything is kept
certs		= $dir/certs		# Where the issued certs are kept
crl_dir		= $dir/crl		# Where the issued crl are kept
database	= $dir/index.txt	# database index file.
 [ req_distinguished_name ] のセクションの項目を書き換えます。  (先頭行以降は、少し行番号がずれていますのでご注意)

[ req_distinguished_name ]
countryName			= Country Name (2 letter code)
countryName_default		= AU
countryName_min			= 2
countryName_max			= 2
 168、169行を下記へ変更します。

[ req_distinguished_name ]
countryName			= Country Name (2 letter code)
countryName_default		= JP
countryName_min			= 2
countryName_max			= 2

stateOrProvinceName		= State or Province Name (full name)
stateOrProvinceName_default	= Some-State

localityName			= Locality Name (eg, city)

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	=
 174行の値を都道府県名へ書き換えます。  176行の後に、下記の行を加えて、値に、市町村名を設定します。

localityName_default		=
 179行の値をを会社名・団体名へ書き換えます。

commonName			= Common Name (e.g. server FQDN or YOUR name)
commonName_max			= 64

emailAddress			= Email Address
emailAddress_max		= 64
 188行の後に続けて、下記の項目を追加して、値にマシンの古ドメイン名を設定します。

commonName_default		=
 191行の後に続けて、下記の項目を追加して、値に管理者の電子メールアドレスを設定します。

emailAddress_default		=
ハイスピードプランPoint anytime