SSL化に必要な証明書を準備します。
不特定多数に提供するサービスは前提としていません。組織内の限られた用途、目的を利用を想定しています。不特定多数、一般に提供するサービスの場合は公の CA から証明書を取得し、運用する必要があります。
CAを必要としない自己証明型 証明書による暗号路を実現します。二通りの自己証明書の作成を示します。
証明書とプライベートキーを一つのファイルで書き出す場合。/etc/mail/certs ディレクトリで以下のコマンドを実行します。
これにより、パスフレーズを含まないプライベートキーと証明書を一つのファイルで書き出します。書き出された
/etc/mail/certs/server.pem
sendmail.mc に以下の様に指定します。
dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/') ----1
define(`confCACERT', `confCACERT_PATH/server.pem') -----2
define(`confSERVER_CERT', `confCACERT_PATH/server.pem') ----3
define(`confSERVER_KEY', `confCACERT_PATH/server.pem') -----4
CA局による署名(証明書の証明)は行わないので、2の設定も同じファイルを指定するか
で生成されたファイルを指定します。
dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/') ----1
define(`confCACERT', `confCACERT_PATH/a056756e.0') -----2
define(`confSERVER_CERT', `confCACERT_PATH/server.pem') ----3
define(`confSERVER_KEY', `confCACERT_PATH/server.pem') -----4
証明書とプライベートキーをそれぞれ作成する場合
以下のファイルが生成されます。
/etc/mail/certs/cert.pem
/etc/mail/certs/privkey.pem
sendmail.mc に以下の様に指定します。
dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/') ----1
define(`confCACERT', `confCACERT_PATH/cert.pem') -----2
define(`confSERVER_CERT', `confCACERT_PATH/cert.pem') ----3
define(`confSERVER_KEY', `confCACERT_PATH/privkey.pem') -----4
こちらも同様にCA局による署名(証明書の証明)は行わないので、2の設定も同じファイルを指定するか
で生成されたファイルを指定します。
dnl
dnl STARTTLS (TLS(SSL)) Support
dnl
dnl please make keys named certs.pem and privkey.pem in /etc/mail/certs.
define(`confCACERT_PATH', `/etc/mail/certs/') ----1
define(`confCACERT', `confCACERT_PATH/a056756e.0') -----2
define(`confSERVER_CERT', `confCACERT_PATH/server.pem') ----3
define(`confSERVER_KEY', `confCACERT_PATH/server.pem') -----4
上記何れかの方法で、sendmail.mc を修正したら m4プリプロセッサでsendmail.cf を生成します。
生成されたsendmail.cfを /etc/mail/sendmail.cf と差し替えてSendmailを再起動します。