SMTP-AUTH用の証明書を作る
酔っぱらった日は証明書のメンテナンスに限る.
ということで,デフォルトで入ってたSnakeOil証明書に甘んじていた我が家のPostfixを,もう少しましな感じにしようかなと決意する.結局,第四種オレオレ証明書だけどね.
作業手順
/etc/ssl/demoCAができてる事が前提.無い人は/usr/lib/ssl/misc/CA.pl -newcaで.
秘密鍵作る
# cd /etc/ssl # openssl genrsa -out demoCA/private/`hostname`.key 2048 Generating RSA private key, 2048 bit long modulus ............................................+++ ...............................................+++ e is 65537 (0x10001)
作った秘密鍵の中身を確認したければ以下のような感じで.
# openssl rsa -in demoCA/private/`hostname`.key -text
CSRつくる
# openssl req -new -key demoCA/private/`hostname`.key -out csr.pem
OUとかコモンネーム(CN)などを聞かれるので適切に答えていくと,CSRファイルができる.
作ったCSRの中身を確認するには,以下のような感じで.
# openssl req -in csr.pem -text
署名するぜ(by CA)
ここでCAの立場になる.
先ほど作ったCSRをもとに,証明書を発行する.
# openssl ca -in csr.pem -out demoCA/certs/`hostname`.pem -days 3650 Using configuration from /usr/lib/ssl/openssl.cnf Check that the request matches the signature Signature ok Certificate Details: Serial Number: de:ad:be:ef:ab:ad:ca:fe Validity Not Before: Apr 25 00:00:00 2008 GMT Not After : Apr 25 00:00:00 2018 GMT Subject: countryName = JP stateOrProvinceName = Foreign organizationName = My company organizationalUnitName = My Unit commonName = mail.example.com emailAddress = webmaster@example.com X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: DE:AD:BE:EF:AB:AD:CA:FE:DE:AD:BE:EF:AB:AD:CA:FE:DE:AD:BE:EF X509v3 Authority Key Identifier: keyid:DE:AD:BE:EF:AB:AD:CA:FE:DE:AD:BE:EF:AB:AD:CA:FE:DE:AD:BE:EF Certificate is to be certified until Apr 25 00:00:00 2018 GMT (3650 days) Sign the certificate? [y/n]:
証明書の中身を確認し,問題がなければ y と入力.
Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated
これで完了
Postix SMTP-AUTH用設定
main.cfで
smtpd_tls_cert_file=/etc/ssl/demoCA/certs/EXAMPLE.pem smtpd_tls_key_file=/etc/ssl/demoCA/private/EXAMPLE.key
再読み込み
# /etc/init.d/postfix reload Reloading Postfix configuration...done.
これでSnakeOilから脱却.やったね.