使用阿里雲免費證書爲 Zimbra-8.8.15 安裝可信任的SSL證書
本文整理自zimbra wiki,有需要的朋友可閱讀原文:https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate
上述zimbra wiki地址詳細介紹了安裝 Let's Encrypt 在 Zimbra 服務器上,而本文參考其介紹使用阿里雲aliyun免費證書安裝zimbra可信任的SSL證書
說明:本文適用於Zimbra8.7及以上,Zimbra8.6及以下請閱讀原文進行部署。
環境:
操作系統:CentOS7.7 64位
Zimbra版本:Zimbra-8.8.15
一、準備工作
首先當然要去阿里雲申請的ssl證書下載其他類型證書,解壓縮後有兩個文件上傳到相應目錄,
文件名類似18131-mail.xxx.comkey和181111-mail.xxx.com.pem
創建目錄 /opt/zimbra/ssl/aliyunssl/ 上傳這兩個文件
二、通過openssl命令把阿里雲的私鑰轉成zimbra能接受的格式
對比Let’s Encrypt和Wosign的證書,這裏會涉及到轉換阿里雲的RSA密鑰到PKCS#8的格式,兩者的區別,在於開頭和結尾的內容。zimbra是不能驗證RSA祕鑰的。
我們可以通過openssl命令把阿里雲的私鑰轉成zimbra能接受的格式。
# mkdir /opt/zimbra/ssl/aliyunssl/
# cd /opt/zimbra/ssl/aliyunssl
# cd /opt/zimbra/ssl/aliyunssl
# openssl pkcs8 -topk8 -inform PEM -in 18131_mail.XXX.com.key -outform PEM -nocrypt -out privkey.pem
# mv 18131_mail.xxxx.com.key cert.pem
# chown zimbra:zimbra /opt/zimbra/ssl/aliyunssl/*
三、創建證書鏈中間證書chain.pem
在 /opt/zimbra/ssl/aliyunssl/ 創建chain.pem 文件 也就是中級證書(mid-digicert-ca) + 根證書(root-digiert-ca)
將阿里雲下載證書1813131_domain.pem的第二部分,也就是第二個—–BEGIN CERTIFICATE—–到—–END CERTIFICATE—–
copy到chain.pem中也就是中級證書(mid-digicert-ca),再將發證機構的根證書追加到chain.pem中也就第二部分的根證書。
阿里雲免費ssl的根證書分享,不同發證機構根證書會有所不同
-----BEGIN CERTIFICATE-----
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
-----END CERTIFICATE-----
四、驗證證書
切換zimbra用戶驗證證書
[root@mail ~]# su - zimbra
Last login: Tue Jan 7 15:47:50 CST 2020 on pts/5
[zimbra@mail ~]$ cd /opt/zimbra/ssl/aliyunssl/
[zimbra@mail aliyunssl]$ /opt/zimbra/bin/zmcertmgr verifycrt comm privkey.pem cert.pem chain.pem
** Verifying 'cert.pem' against 'privkey.pem'
Certificate 'cert.pem' and private key 'privkey.pem' match.
** Verifying 'cert.pem' against 'chain.pem'
Valid certificate chain: cert.pem: OK
五、部署證書
1.部署之前,進行備份
cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date "+%Y%m%d%H%M%S")
2.在Zimbra SSL路徑下複製私鑰
在部署SSL證書之前,需要將privkey.pem移動到Zimbra SSL商業路徑下,如下所示:
cp /opt/zimbra/ssl/aliyunssl/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key
3.開始部署
一定切換到zimbra再部署,否則部署不了。
[root@mail ~]# su - zimbra
Last login: Tue Jan 7 16:39:52 CST 2020 from 113.57.27.111 on pts/8
[zimbra@mail ~]$ cd /opt/zimbra/ssl/aliyunssl/
[zimbra@mail aliyunssl]$ /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem
4.重啓zimbra服務
[zimbra@mail ~]$ zmcontrol restart
5.查看證書
[zimbra@mail aliyunssl]$ /opt/zimbra/bin/zmcertmgr viewdeployedcrt
六、測試證書是否生效
瀏覽器訪問你的服務器地址,看到沒有證書錯誤提示並且地址欄證書的地方是綠色就表示成功了。