Linux/自己認証局(CA)

自己認証局(CA)

証明書作成用設定ファイルの編集

# vi /etc/pki/tls/openssl.cnf
170 basicConstraints=CA:FALSE
      ↓
170 basicConstraints=CA:TRUE

* コメント外す
176 nsCertType                      = server
245 nsCertType = sslCA, emailCA
278 nsCertType                      = server

自己認証局(CA)の設定変更

# vi /etc/pki/tls/misc/CA
DAYS="-days 365"       # 1 year
CADAYS="-days 1095"     # 3 years
     ↓
DAYS="-days 3650"       # 10 year
CADAYS="-days 7300"     # 20 years

自己認証局(CA)の構築

# cd /etc/pki/tls/misc
#./CA -newca
CA cretificate filename (or enter tocreate)  <---上位CAがあれば指定
Enter PEM pass phrase:  <---証明書のパスフレーズを入力
Verifying - Enter PEM pass phrase:  <---証明書のパスフレーズの確認
Country Name (2 letter code) [AU]:JP <---国名、日本なら'JP'
State or Province Name (full name) [Some-State]:AICHI <---都道府県名を指定
Location Name(eg,city) []:NAGOYA <---組織の本拠地の市区町村名を指定
Orgnaization Name(eg,company)[Internet Widgits Pty Ltd]:UNIXLife <---組織名(法人名)を指定
Orgnaization Unit Name(eg,section)[]: <---部署名を指定
Common Name (eg,YOUR name)[]:sv.unixlife.jp <---サーバのホスト名(FQDN)を指定
Email Address []:master@unixlife.jp <---連絡先E-Mailアドレスを指定

/etc/pki/CA/cacert.pem =認証機関の証明書

/etc/pki/CA/private/cakey.pem =認証機関の秘密鍵

証明書の確認

# openssl x509 -in /etc/pki/CA/cacert.pem -text

ブラウザにインストールする用にバイナリDERフォーマットにする。

# openssl x509 -in cacert.pem -outform DER -out cacert.der

ブラウザからインストールできるよう下記の設定を追加

# vi /etc/httpd/conf.d/ssl.conf
AddType application/x-x509-ca-cert .crt
      ↓
AddType application/x-x509-ca-cert .crt .der

ファイルは読み込める場所にコピーしておく

# cp /etc/pki/CA/cacert.der /var/www/html/

サーバの秘密鍵と署名要求証明書の作成

# mkdir /etc/pki/server/
# cd /etc/pki/server/
# openssl genrsa -des3 -out server.key 2048
# openssl rsa -in server.key -out server.key.nopass

署名要求証明書の作成

# openssl req -new -days 3650 -key server.key -out csr.pem
Country Name (2 letter code) [AU]:  <---国名、通常は'JP'
State or Province Name (full name) [Some-State]:  <---都道府県名を指定
Location Name(eg,city) []:  <---組織の本拠地の市区町村名を指定
Orgnaization Name(eg,company)[Internet Widgits Pty Ltd]:  <---組織名(法人名)を指定
Orgnaization Unit Name(eg,section)[]:  <---部署名を指定
Common Name (eg,YOUR name)[]:  <---FQDNを指定
Email Address []:  <---連絡先E-Mailアドレスを指定

自己CAでの署名要求証明書への署名

# cd /etc/pki/tls/misc
# openssl ca -config /etc/pki/tls/openssl.cnf -in /etc/pki/server/csr.pem -keyfile \
/etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -out /etc/pki/server/cert.pem