参考1 http://bbs.ecmobile.cn/read.php?tid=370&fid=16 ecmobile添加支付宝功能图文流程
参考2 http://blog.sina.com.cn/s/blog_58f71ef00102wvlx.html
前提条件
在设置Apache + SSL之前, 请确认Apache已经安装并可以正常工作. 并且ssl需要的文件在如下的位置:[Apache安装目录]/modules/mod_ssl.so
[Apache安装目录]/bin/openssl.exe、 libeay32.dll、 ssleay32.dll、openssl.cnf(PHPStudy里面自带了openssl,去php扩展里面开启php_openssl,但是bin目录下没有openssl.cnf,需要将conf下的openssl.cnf拷贝一份到bin目录下)
[Apache安装目录]/conf/openssl.cnf
创建SSL证书
步骤一: 执行命令:
openssl genrsa 1024 >znrr.key
(RSA密钥对的默认长度是1024,取值是2的整数次方,并且密钥长度约长,安全性相对会高点)完成密钥znrr.key生产完毕后进行步骤二操作。
(RSA密钥对的默认长度是1024,取值是2的整数次方,并且密钥长度约长,安全性相对会高点)完成密钥znrr.key生产完毕后进行步骤二操作。
步骤二:生产为签署的znrr.csr执行命令:
openssl req -new -config openssl.cnf -key znrr.key >znrr.csr(如果不加-config .openssl.cnf参数的话,常会报Unable to load config info from .../ssl/openssl.cnf)
之后就会要求输入一系列的参数:
Country Name (2 letter code) [AU]:CN ISO 国家代码(只支持两位字符)
State or Province Name (full name) [Some-State]:GD 所在省份
Locality Name (eg, city) []:GZ 所在城市
Organization Name (eg, company): 公司名称
Organizational Unit Name (eg, section) []: 组织名称
Common Name (eg, YOUR name) []: 申请证书的域名(建议和httpd.conf中serverName必须一致否则有可能导致apache不能启动)
Email Address []:admin@admin.com 管理员邮箱
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:交换密钥 (随意写)
An optional company name []:(建议和httpd.conf中serverName必须一致否则有可能导致apache不能启动)
里面的资料对应到后面配置好证书的截图如下
步骤三:签署服务器证书文件 znrr.crt执行命令:
openssl req -x509 -days 5000 -config openssl.cnf -key znrr.key -in znrr.csr >znrr.crt参数说明:这是用步骤 1,2 的的密钥和证书请求生成证书 znrr.crt,
-days 参数 指明证书有效期,单位为天,
x509 表示生成的为 X.509 证书。
步骤四:
建立文件夹 D:\phpStudy\Apache\conf\ssl,找到znrr.crt、znrr.csr、znrr.key三个文件,将此三个文件剪切到Apache的\conf\ssl目录下。
设置Apache支持SSL
注意: 本设置步骤针对针对Apache 2.2.x版本,在Apache的conf目录中用文本编辑器打开httpd.conf1. 去掉下面设置行前面的#
LoadModule ssl_module modules/mod_ssl.so
2. 去掉下面设置行前面的# (在2.0.x版本中没有这一项)
Include conf/extra/httpd-ssl.conf3. 在Apache的conf/extra目录中打开httpd-ssl.conf, 我自己亲自配置的贴出来,开头那篇文章可能年代久远有点无人子弟浪费了一下午时间,终于配置好了,基于phpstudy的
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:D:/phpStudy/Apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
<VirtualHost *:443>
DocumentRoot "D:\phpStudy\WWW"
ServerName localhost:443
ErrorLog "D:/phpStudy/Apache/logs/error.log"
TransferLog "D:/phpStudy/Apache/logs/access.log"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "D:/phpStudy/Apache/conf/ssl/znrr.crt"
SSLCertificateKeyFile "D:/phpStudy/Apache/conf/ssl/znrr.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "D:\phpStudy\WWW">
Options Indexes
AllowOverride All
Order allow,deny
IndexOptions Charset=UTF-8
Allow from all
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "D:/phpStudy/Apache/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
顺利启动之后, 在浏览器中输入 https://localhost