通配数字证书,就是可以匹配多个属性值(如域名、Email地址等)的数字证书。如果使用openssl命令来制作通配数字证书,命令和步骤比较复杂,非常人所能熟练掌握。本指南介绍如何使用CA管理软件xca生成通配数字证书。在我们的示例中,我们将制作通配域名zhmail.com及其所有下一级子域名*.zhmail.com的服务器数字证书。
设置SHA-256为缺省的散列算法
由于制造SHA-1散列碰撞逐渐变得可能,安全业界正在逐步淘汰SHA-1算法,用SHA-2散列算法系列取而代之。从去年9月开始,Google Chrome浏览器已经开始对截止日期为2017年1月1日及以后的采用SHA-1签名算法的数字证书进行安全警示。因此,在使用xca制作数字证书之前,我们最好将SHA-256设置为缺省的散列算法。打开xca菜单File / Options,在Default hash algorithm下拉框中选择“SHA 256”,然后单击OK按钮。
创建通配证书
1. 打开xca的Certificates选项卡,单击“New Certificate"按钮。在打开的对话框上选择”Use this Certificate for signing"单选框,然后在它右侧的下拉菜单上选择将用于签署新证书的CA证书。在Template for the new certificate下拉菜单中,选择"[default] HTTPS_server"。然后,单击"Apply all"按钮;注意:这一步一定要做。
2. 打开Subject选项卡,输入Internal name、commonName,和其他必要的证书信息。Internal name是xca内部使用的名称,建议设置成跟commonName一样。由于要创建通配数字证书,我们就在commonName一栏输入"*.zhmail.com"。
3. 单击Subject选项卡底部Private key一栏的"Generate a new key"按钮。确认密钥类型为RSA:2048 bit后,单击Create按钮。
4. 打开Extensions选项卡,在Time range一栏,输入证书的有效期时长,然后单击旁边的Apply按钮;这时左侧的Not after截止时间会被更新。然后,在X509v3 Subject Alternative Name(subjectAltName)输入框里,输入通配数字证书的关键属性:
DNS:*.zhmail.com, DNS:zhmail.com
由于我们在第一步已经应用了HTTPS_server证书模板,可以不用去管Extensions右侧的三个选项卡。
最后,单击OK按钮,xca就会生成和签署新的通配数字证书。新生成的密钥和证书可以分别在xca主窗口的Private Keys和Certificates选项卡上进行导出。