欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用阿里云免费证书为 Zimbra 安装可信任的SSL证书

程序员文章站 2022-07-15 15:51:07
...

使用阿里云免费证书为 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/ 上传这两个文件

使用阿里云免费证书为 Zimbra 安装可信任的SSL证书
二、通过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用户验证证书

[aaa@qq.com ~]# su - zimbra
Last login: Tue Jan  7 15:47:50 CST 2020 on pts/5
[aaa@qq.com ~]$ cd /opt/zimbra/ssl/aliyunssl/
[aaa@qq.com 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再部署,否则部署不了。

[aaa@qq.com ~]# su - zimbra
Last login: Tue Jan  7 16:39:52 CST 2020 from 113.57.27.111 on pts/8
[aaa@qq.com ~]$ cd /opt/zimbra/ssl/aliyunssl/
[aaa@qq.com aliyunssl]$ /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem

4.重启zimbra服务

[aaa@qq.com ~]$ zmcontrol restart

5.查看证书

[aaa@qq.com aliyunssl]$ /opt/zimbra/bin/zmcertmgr viewdeployedcrt

六、测试证书是否生效

浏览器访问你的服务器地址,看到没有证书错误提示并且地址栏证书的地方是绿色就表示成功了。

使用阿里云免费证书为 Zimbra 安装可信任的SSL证书