實驗環境:
192.168.88.150 ca.bloke.com ca
192.168.88.163 mail.bloke.com mail
192.168.88.12 client.bloke.com client
實驗就以給dovecot頒發證書爲例!
1、修改openssl配置文件</etc/pki/tls/openssl.cnf>:
創建必要的文件: index.txt serial
echo 00 > serial
2、在CA服務器上生成私鑰:
(umask 077 ; openssl genrsa -out /etc/pki/CA/private/bloke-ca.key -des3 2048)
3、在CA服務器上利用生成的私鑰生成公鑰:
openssl req -out /etc/pki/CA/bloke-ca.crt -new -key private/bloke-ca.key -x509 -days 365
4、 在mail服務器上生成用於dovecot服務的私鑰:
(umask 077 ; openssl genrsa -out dovecot.key 2048)
5、在mail服務器上利用dovecot的私鑰生成dovecot的證書請求文件:
6、將mail服務器上生成的證書請求文件傳給CA服務器,由CA服務器簽證:
完成之後,將生成的dovecot.crt證書文件傳輸給mail服務器
然後mail服務器將dovecot的私鑰和證書放置到指定的位置:
/etc/pki/tls/private/dovecot.key
/etc/pki/tls/certs/dovecot.crt
7、配置postfix和dovecot:
修改/etc/postfix/main.cf:
myhostname = mail.bloke.com
mydomain = bloke.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
mail.$mydomain, www.$mydomain, ftp.$mydomain
mynetworks = 192.168.88.0/24, 127.0.0.0/8
home_mailbox = Maildir/
mail_spool_directory = /var/spool/mail
8、配置dovecot:
修改 /etc/dovecot/conf.d/10-ssl.conf:
ssl_cert = </etc/pki/tls/certs/dovecot.crt
ssl_key = </etc/pki/tls/private/dovecot.key
修改 /etc/dovecot/conf.d/10-mail.conf:
mail_location = maildir:~/Maildir
9、重啓postfix和dovecot服務:
/etc/init.d/postfix restart && /etc/init.d/dovecot restart
10、在mail服務器上建立user1用戶
然後在客戶端 client.bloke.com 上使用 thunderbird 測試:
在後面的步驟中會出現提示:<因爲mail服務器的證書對於client是不可信的>
暫時先取消創建用戶,將CA服務器的公鑰傳給client,導入到client的雷鳥中,再次創建查看效果:
再次創建用戶的時候,就不會彈出那個添加例外的框,說明證書已經得到client的信任:
在mail服務器上使用root用戶給user1用戶發送一份郵件,測試接收:
echo 'This is first test page from bloke ...' | mail -s 'bloke01' [email protected]
最後,測試一下在雷鳥上使用[email protected]用戶 給139郵箱發郵件:
登陸139郵箱,查看郵件:
好了,實驗到此就結束了。。。