建立自簽(self-signed)的 SSL 憑證 — dovecot 篇

不論是自架的郵件伺服器,網頁伺服器(wordpress),如果是需要輸入帳號密碼的,透過SSL 連線都會增加安全性
至少不會讓自己的密碼以明碼的方式在網路傳送。
這篇是我自己的備忘錄,記錄如何產生dovecot用的SSL憑證

一般說來,在安裝好dovecot-postfix時
系統就會幫你產生/etc/ssl/private/dovecot.pem(私鑰)
與/etc/ssl/certs/dovecot.pem(公鑰) 兩個檔案
不過如果你想要改域名的話,就會需要重新製作新域名的公鑰與私鑰。
dovecot有出自己的工具來製做這兩個檔案,保證可用,所以我就直接用他了。
首先要找到系統中dovecot的doc檔案所在。以UBUNTU 14.04為例,檔案在
/usr/share/doc/dovecot-core/dovecot
裡面有一個檔案mkcert.sh 和他的參數檔案 dovecot-openssl.cnf
先把mkcert.sh轉成可執行檔
sudo chmod 744 mkcert.sh
然後修改參數檔dovecot-openssl.cnf 內容

sudo vi dovecot-openssl.cnf
[ req ]
default_bits =2048 #我改成2048 比較有保障
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no

[ req_dn ]
# country (2 letter code)
#C=US

# State or Province Name (full name)
#ST=Texas

# Locality Name (eg. city)
#L=Houston

# Organization (eg. company)
#O=Dovecot

# Organizational Unit Name (eg. section)
OU=IMAP server

# Common Name (*.example.com is also possible)
CN=your.domain.name

# E-mail contact
emailAddress=postmaster@your.domain.name

[ cert_type ]
nsCertType = server

就照著你的需要改就行
接著備份你原本的dovecot.pem公私鑰以防萬一
sudo cp /etc/ssl/private/dovecot.pem /etc/ssl/private/dovecot.pem.old
sudo cp /etc/ssl/certs/dovecot.pem /etc/ssl/certs/dovecot.pem.old
並移除他們
sudo rm /etc/ssl/private/dovecot.pem
sudo rm /etc/ssl/certs/dovecot.pem

然後執行mkcert.sh
sudo ./mkcert.sh

這樣就大功告成了!

如果有人知道如何直接用openssl指令來製作dovecot可用的公私鑰,也麻煩告訴我。

「建立自簽(self-signed)的 SSL 憑證 — dovecot 篇」有一則迴響

  1. 由於我有在用webmail (roundcube),所以我用letsencrypt加密了我的webmail網站。
    我發現可以使用同一個SSL憑證來加密webmail網站與dovecot。
    只要他們使用的是同一個網域名稱即可!

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料