产品介绍

  • 在线联系维瑞:

  • 维瑞_销售: 维瑞_售前顾问

  • 维瑞_技术: 维瑞_技术支持

  • MSN: help@willrey.com

    销售QQ: 112580 3355

    Email:help@willrey.com

    Tel : 0755-6660 8110


    维瑞特别声明:

            我们竭诚为广大客户提供优质

    的服务,如果技术中心文档不能帮

    您在Apache 2.2平台安装SSL证

    ,即便您不是维瑞 客户,我们

    同样可以 免费 为您提供服务,维

    瑞深信您的口碑是最好的见证。

     

    Apache 2.2-SSL证书操作指南

    制作Apache 2.2 SSL证书申请CSR文件

    Apache 2.2 SSL主要采用BASE64位的PEM文件格式,可以采用Openssl命令行工具来生成CSR文件,OpenSSL工具是免费的,可以从www.openssl.org下载到最新的源码,但需要自己编译(见Openssl编译简介),你也可以下载使用已经编译好的OpenSSL 0.9.8.a for win32,下载地址是: http://www.willrey.com/win32openssl-0_9_8.rar
    1、Openssl是一个命令行工具,首先将下载包解压到C:\openssl下。

    2、打开DOS命令行窗口,进入C:\openssl,输入命令:
    openssl req -new -nodes -keyout server.key -out server.csr

    3、在完成了如上的交互信息输入后,当前目录下将产生两个文件:server.key 和 server.csr。请妥善保存这两个文件,请不要泄露server.key私钥文件。

    4、在这一命令执行的过程中,系统会要求您填写如下信息:
     

    Country Name (2 letter code) 使用国际标准组织(ISO)国码格式,填写2个字母的国家代号。中国请填写CN。
    State or Province Name (full name) 省份,比如填写Shanghai
    Locality Name (eg, city) 城市,比如填写Shanghai
    Organization Name (eg, company) 组织单位,比如填写公司名称的拼音
    Organizational Unit Name (eg, section) 比如填写IT Dept
    Common Name (eg, your websites domain name): 行使 SSL 加密的网站地址。请注意这里并不是单指您的域名,而是直接使用 SSL 的网站名称 例如:www.willrey.com
    Email Address 邮件地址,可以不填
    A challenge password 可以不填
    An optional company name 可以不填

    5、如何产生2048位的密钥对?

    在上面的命令行交互中,我们看到“Generating a 1024 bit RSA private key”,即系统缺省采用1024位的RSA密钥长度,我们必须采用2048位的密钥长度,要生成2048位的密钥,可以修改上面的命令行:(斜体部分为增加的参数)
    openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr

    6、如何制作中文的CSR文件?

    如果希望自己通过Openssl工具来制作中文CSR就需要多费一些工夫了,下面详细介绍一下采用Openssl命令行制作中文CSR的方法。
    Openssl本身是可以支持UTF-8编码来支持中文的,但是如果通过DOS命令行是无法输入UTF-8的中文字符的,所以我们必须采用Opnessl.cnf配置文件的缺省值来实现中文字的输入。采用一个文本编辑器,最好是支持utf-8字符的,我采用UltraEdit,打开Openssl.cnf文件,首先修改:

    string_mask = utf8only 这句话将强制字符的输入采用UTF-8的编码格式,然后修改缺省DN信息,录入我们需要合中文字符,如下 commonName_default = www.willrey.com
    organizationName_default = 深圳市维瑞电子商务有限公司
    organizationalUnitName_default = 技术部门
    stateOrProvinceName_default = 广东
    localityName_default = 深圳
    countryName_default = CNN 然后将文件按utf-8,no bom的编码格式保存,在Ultraedit下,请选择“另存为”,格式为“UTF-8 - NO-BOM”。如果没有可以支持UTF-8的编辑工具,也可以下载一个ICONV来做编码转换工作。

    准备好openss.cnf文件后,输入命令行:
    openssl req -utf8 -config config.cnf -new -nodes -batch -keyout server.key -out server.csr 
    系统将自动生成CSR文件,保存在server.csr中。

    CSR已经做好,最后强调,必须同时保存好server.csr和server.key2个文件,尤其是server.key一定丢失,将无法再使用这个证书。

    Apache 2.2-SSL证书安装

     

    证书是通过电子邮件发送给用户的,内容附在邮件中。如果证书是以附件的形式(Cert.cer)夹带在邮件中,您就可以直接应用它。 如果您的证书中以文本的方式存在邮件中,您就需要将邮件中的证书部分的内容用Vi或Notepad存成一个纯文本文件。不要将其存成Microsoft Word 或其它字处理软件格式,并确定证书内容中不含有空行和空格,文件名可以为server.cer。 将保存好的server.cer文件和制作CSR时候生成的server.key一起复制到服务器上。

    Apache的参数配置都在httpd.conf文件中,SSL配置也是如此,此外还可以通过include httpd-ssl.conf来包含一个专门配置SSL的配置文件,如果激活了httpd-include ssl.conf,则可以打开httpd-ssl.conf来配置相应参数。

    一般,我们直接在httpd.conf文件中直接配置SSL参数:

    #加载模块mod_ssl.so,此模块是启用SSL功能必须的。
    LoadModule ssl_module modules/mod_ssl.so

    #监听443端口
    Listen 443

    #建立一个SSL的虚拟站点,避免SSL配置影响原来HTTP的站点配置。
    <VirtualHost _default_:443>
    DocumentRoot "C:/Program Files/Apache2/htdocs"
    ServerName www.willrey.com:443
    SSLEngine on
    SSLCertificateFile "C:/SSL/server.cer"
    SSLCertificateKeyFile "C:/SSL/server.key"
    SSLCertificateChainFile "C:/SSL/chain.cer"
    ErrorLog "C:/Program Files/Apache2/logs/error.log"
    TransferLog "C:/Program Files/Apache2/logs/access.log"
    </VirtualHost>

    #说明主站是使用HTTP通信的,只有上面虚拟站点有SSL
    SSLEngine off

    配置参数说明如下(完整的SSL配置参数见这里):
    Listen 443:
    SSL协议监听的端口,同下面Virtualhost 中的端口需要匹配,SSL协议缺省使用443端口,也有使用8443的情况。
    SSLEngine on:
    SSL功能打开,如果在Virtualhost出现这句,则仅作用于虚拟机站点配置范围,这个虚拟机站点全部使用SSL通信,如果出现在Virtualhost外,则作用于全局,整个服务器都使用SSL(HTTPS)通信,不能采用HTTP通信,所以通常都在Virtualhost中加这句。
    SSLCertificateFile:证书文件,server.cer

    SSLCertificateKeyFile:私钥文件,server.key

    SSLCertificateChainFile
    中间链证书,可以从邮件中的链接中下载,或者联系维瑞客服,并保存为'chain.cer'

    Errorlog,TranksferLog:日志文件

    SSLEngine off:
    整个站点,除了虚拟站点外,关闭SSL,仍然支持HTTP通信。
    3、重新启动Apache,如果是在Linux下,输入:
    apachectl stop
    apachectl startssl