.
Mailサーバー => SSL SMTPサーバー構築 > 4.クライアント認証に必要な証明書を作成する
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

クライアント認証に必要な証明書を作成する

クライアント証明書を作成

クライアント証明書を作成します。手順はサーバー証明書と同じですが、nsCertTypeの指定が異ります。ディレクトリ /etc/mail/certs/usersを作成、ディレクトリに移動後、キーファイルと署名要求書を作成します。

# openssl req -new -keyout mail_korogi_key.pem -out mail_korogi_req.pem

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 に以下のファイルが生成されます。

  • mail_korogi_key.pem (プライベートキー)
  • mail_korogi_req.pem (署名要求書(CSR))

CSRをCA管理者に提出して、署名してもらいます。この作業はCA管理者が行う作業です。(ここでは同一ホストで行っているのでその必要はありませんが‥‥)

以下のコマンドで署名するわけですが、OpenSSLの設定ファイルのnsCertTypeをclient, email に変更しておく必要があるので注意して下さい。

以下の例ではあらかじめ修正した設定ファイルを指定しています。頻繁に証明書を作成するケースは目的に応じた設定ファイルを準備しておくと便利です。ここで説明しています。

# openssl ca -config /var/ssl/openssl_cliant.cnf -in mail_korogi_req.pem -out mail_korogi_cert.pem

この一連の作業でmail_korogi_cert.pem ユーザー証明書が生成されました。
この作業でカレントディレクトリ /etc/mail/certs/users 下に以下のファイルがあることを確認して下さい。

/etc/mail/certs/users

  • mail_korogi_req.pem
    • 署名要求書(CA提出段階で削除)
  • mail_korogi_key.pem
    • メールサーバーの秘密鍵
  • mail_korogi_cert.pem
    • CA署名により発行されたメールサーバーの証明書

署名され生成されたユーザー証明書 mail_korogi_cert.pem はこのままユーザーに渡しても取り込むことが出来ません。pkcs12形式に変換します。その前に、CA証明書(公開鍵をカレントディレクトリにコピーしておきます。

# cp /var/ssl/CA/cacert.pem /etc/mail/certs

今回作成した主な書類とディレクトリ

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 ----------------- 証明書失効リスト(期限切れ証明書)

bottom_mark
ページ最上部
ページ最上部 前のページ