Apache-ssl
Apache-SSL/Apache-ModSSL说明由于Apache 版本非常多,每个版本都不尽相同,因此欲了解更多有关知识,请直接访问http://www.apache.org。本文apache 安
Apache-SSL/Apache-ModSSL
说明
由于Apache 版本非常多,每个版本都不尽相同,因此欲了解更多有关知识,请直接访问http://www.apache.org。本文apache 安装配置示例使用的是apache 2.0.59版本,如果进行apache 配置时不能成功完成,可能是版本原因,请参考apache 帮助文件中SSL 相关章节进行配置。
本文要求系统中已经安装有openssl 软件,且apache 有mod_ssl模块:
openssl 用于生成私钥和CSR,一般系统中已经默认安装在/user/bin下,如果您的系统安装在其他目录,使用时请指定正确的目录路径。如果没有openssl,请访问http://www.openssl.org下载安装。
Apache2默认安装没有mod_ssl模块,编译时请在./configure 中加入--enable-ssl 选项。mod_ssl相关资料可以在http://www.modssl.org获得。可以使用./apachectl -l 命令来查看apache 的模块。
产生CSR
在生成CSR 文件时同时生成您的私钥,如果您丢了私钥或忘了私钥密码,则颁发证书给您后不能安装成功!您必须重新生成私钥和CSR 文件,利用证书补办流程颁发新的证书。为了避免此情况的发生,请在生成CSR 后一定要备份私钥文件和记住私钥密码,最好是在收到证书之前不要再动服务器。
“openssl”用于生成私钥和CSR,一般系统中已经默认安装在/user/bin下,如果您的系统安装在其他目录,请指定正确的目录路径。如果没有openssl,请访问http://www.openssl.org下载安装。
,以下所有命令假设您已经成功安装OpenSSL,将产生1024位的密钥,加密算法采用3DES,您必须使用您要申请域名证书的域名来命名密钥文件。
1. 生成私钥
请使用以下命令来生成私钥:
openssl genrsa -des3 -out www.domain.cn.key 1024
如上图所示,此命令将生成1024位的RSA 私钥,私钥文件名为:
www.domain.cn.key,会提示您设定私钥密码,请设置密码,并牢记
2. 生成CSR 文件
请使用以下命令来生成CSR:
openssl req -new -key www.domain.cn.key -out www.domain.cn.csr
,此命令将提示您输入X.509证书所要求的字段信息,包括国家(中国添CN)、省份、所在城市、单位名称、单位部门名称(可以不填直接回车)。请注意: 除国家缩写必须填CN 外,其余都可以是英文或中文。这些信息具体内容可以忽略,生成证书时信息以RA 系统中登记的为准。
Common Name项请输入您要申请域名证书的域名,如果您需要为www.domain.cn 申请域名证书就不能只输入domain.cn。域名证书是严格绑定域名的。
请不要输入Email、口令(challenge password)和可选的公司名称,直接打回车即可。
您现在已经成功生成了密钥对,私钥文件:www.domain.cn.key 保存在您的服务器中, 请把CSR 文件:www.domain.cn.csr 保存好,在下载证书时copy 给CNNIC 即可,CSR文件格式如下图所示。
,3. 备份私钥文件
请备份您的私钥文件并记下私钥密码。最好是把私钥文件备份到软盘或光盘中。
4.把CSR 发给CNNIC,并获取证书
生成CSR 后,即可以登录CNNIC 的证书下载页面,根据页面提示将CSR 中的内容复制粘贴出来发送给CNNIC,下载获取证书,域名证书文件名后缀可以为.cer或.crt。请一定不要再动您的服务器,等待证书的颁发。
证书下载
生成完CSR 后,既可以登录CNNIC 可信网络服务中心网页(进入www.cnnic.cn ,点击“可信网络”),点击“网址卫士”下载进入到证书下载页面。
1.下载域名证书
A .点击“网址卫士第一部分”,根据网页上的提示输入从密码信封中获取的“参考号”和“授权码”,复制上一步所生成的CSR 到网页的“CSR ”文本框中,复制时不要复制头尾的“-----BEGIN NEW CERTIFICATE REQUEST-----”和“-----END NEW CERTIFICATE REQUEST-----”,只要中间的部分。结果如下所示:
,B .点击“下载”,如果参考号、授权码和CSR 均无问题,显示页面如下所示。请根据页面上的提示将文本框中的内容拷贝下来,粘贴到一个新建的文本文件中,并保存,文件名可以是“www.domain.cn.txt ”。
注意:文本框中的内容就是此次申请的证书,请一定将内容拷贝保存下来,如果内容丢失,就必须进行证书补办。
C .将保存下来的文本文件的文件类型从.txt 改为.cer ,例如,这就是此次下载下来的域名证书。改完后可以双击打开文件,即可以查看到证书的具体信息。显示类似如下(具体内容有所不同):
,2.下载证书链上的其他证书
点击证书下载页面的“网址卫士第二部分”,将压缩包下载到本地,解压缩即可以获取证书链上的中级根证书和根证书。至此证书下载完成。
安装证书
域名证书安装指南 - Apache-SSL / Apache ModSSL
1. 保存证书文件
证书颁发后,假设你所下载保存的域名证书文件名为www.domain.cn.cer 。 另外,从CNNIC 还可以下载到证书链上的中级根证书和根证书,假设分别保存为root.cer(根证书)和CNNIC.cer(中级根证书)。
,如果apache 版本较低,没有预置根证书,则此时需要首先将这两个证书合并成一个证书链文件,例如叫cachain.cer,以便将根证书一并安装进去,方法如下。一般较高版本apache 只需安装中级根证书,请忽略如下步骤,直接进入“2 安装证书”步骤。
A.分别使用文本编辑工具(如notepad)将root.cer 和CNNIC.cer 分别打开,分别显示如下所示
B.使用文本编辑工具新建一个文件cachain.cer,将root.cer 和CNNIC.cer 中的内容拷贝进去并保存,其中CNNIC.cer 的内容在前,root.cer的内容在后,显示如下所示:
,2. 安装证书
A. 把域名证书文件和中级根证书文件或证书链文件拷贝到Apache 存放证书的目录中,例如: /etc/httpd/conf/ssl.crt/
,B.使用文本编辑器打开httpd.conf 或ssl.conf 文件,检查你的虚拟主机配置内是否有下面3行,如没有请添加如下3行参数。请只修改其中一个文件,否则会有冲突而使得Apache 不能正常启动。
SSLCertificateFile /etc/httpd/conf/ssl.crt/www.domain.cn.cer //本地域名证书文件
SSLCertificateKeyFile /etc/httpd/conf/ssl.crt/www.domain.cn.key //私钥文件
SSLCertificateChainFile /etc/httpd/conf/ssl.crt/CNNIC.cer //中级根证书文件或证书链文件cachain.cer
c. 保存修改。
d. 使用如下命令停止Apache 后再启动Apache,以便Apache daemon能注册修改的参数。
/usr/sbin/apachectl stop
/usr/sbin/apachectl startssl
或:
/usr/sbin/httpd -k stop
/usr/sbin/httpd -DSSL
3. 完成配置
如果分配了443端口作为https 服务端口,且域名解析配置正确,此时可以在浏览器地址栏输入:https://www.domain.cn (申请证书的域名)测试您的SSL 证书是否安装成功,如果成功,则浏览器下方会显示一个安全锁标志。请注意:如果您的网页中有不安全的元素,则会提供“是否显示不安全的内容”,建议修改网页删除不安全的内容。