クライアント証明書を作成します。手順はサーバー証明書と同じですが、nsCertTypeの指定が異ります。ディレクトリ /etc/mail/certs/usersを作成、ディレクトリに移動後、キーファイルと署名要求書を作成します。
Using configuration from /var/ssl/openssl.cnf
Generating a 1024 bit RSA private key
.......++++++
........................++++++
writing new private key to 'privkey.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]:
State or Province Name (full name) [Aichi]:
Locality Name (eg, city) [Nagoya]:
Organization Name (eg, company) [Creative.Unit.ZERO]:
Organizational Unit Name (eg, section) [Design]:
Common Name (eg, YOUR name) []:mail.mydomain.net
Email Address []:korogi@mydomain.net
Please enter the following 'extra' attributes
A challenge password []:そのままenter
An optional company name []:そのままenter
Cmmon Nameには必ず、利用するサーバードメインを記入します。 ディレクトリ /etc/mail/certs/users に以下のファイルが生成されます。
CSRをCA管理者に提出して、署名してもらいます。この作業はCA管理者が行う作業です。(ここでは同一ホストで行っているのでその必要はありませんが‥‥)
以下のコマンドで署名するわけですが、OpenSSLの設定ファイルのnsCertTypeをclient, email に変更しておく必要があるので注意して下さい。
以下の例ではあらかじめ修正した設定ファイルを指定しています。頻繁に証明書を作成するケースは目的に応じた設定ファイルを準備しておくと便利です。ここで説明しています。
この一連の作業でmail_korogi_cert.pem ユーザー証明書が生成されました。
この作業でカレントディレクトリ /etc/mail/certs/users 下に以下のファイルがあることを確認して下さい。
/etc/mail/certs/users
署名され生成されたユーザー証明書 mail_korogi_cert.pem はこのままユーザーに渡しても取り込むことが出来ません。pkcs12形式に変換します。その前に、CA証明書(公開鍵をカレントディレクトリにコピーしておきます。
CA構築からこれまでの作業で発生したファイル、及びディレクトリをここで整理してみました。クライアント認証に必要な証明書は赤で示したファイルになり ます。これらを用いてSendmail,クライアントが設定をおこなうことになります。Opensslを使った作業はおしまいです。
サーバー側 /etc/mail/
1. ./cert.pem サーバー証明書("12".の署名されCAから渡された証明書 )
2. ./cacert.pem CA証明書 7.の複製
3. ./privky.pem サーバープライベートキ
4. ./newreq.pem 証明書署名要求書(CSR) " 1 " が発行された段階で消去
クライアント(ユーザー)側 /etc/mail/users/
5. ./mail_korogi_key.pem ユーザープライベートキー
6. ./mail_korogi_req.pem ユーザー署名要求書(CSR)" 7 " が発行された段階で消去
7. ./mail_korogi_cert.pem CAが6を署名して出来たユーザー証明書
8. ./mail_korogi_cert.p12 " 7 "をpkcs12形式に変換したファイル(クライアント提出)
CA認証側 /var/ssl/CA/
10. ./cacert.pem ------- CA証明書
11. ./private/cakey.pem - CAプライベートキー
12. ./cert.pem ------ "4"CSR署名によって生成され
サーバー管理者に渡すサ-バ証明書
CA局ディレクトリ構成 /var/ssl/CA
13. ./certs --------------- 発行した証明書の保存ディレクトリ
14. ./newcerts ------------ 新規証明書ディレクトリ(自動生成)
15. ./private ------------- CAプライベートキー
16. ./crl ----------------- 証明書失効リスト(期限切れ証明書)