phpStudy集成环境apche下+openssl来配置本地https服务器

1:修改两个配置文件,一个为conf/httpd.conf,另一个为conf/extra/httpd-ssl.conf

1-1:在httpd.conf中,删掉以下语句前的’#’

#LoadModule ssl_module modules/mod_ssl.so

#Include conf/extra/httpd-mpm.conf

#Include conf/extra/httpd-ssl.conf

1-2:httpd-ssl.conf中把相应选项改成如下,有’#’的删掉

ServerName www.qrcodelocal.com:443       (你想设置的访问域名,自定义)

SSLCertificateFile "/Apache24/conf/server.crt"

SSLCertificateKeyFile "/Apache24/conf/server.key"

SSLCACertificateFile "/Apache24/conf/ca.crt"

SSLVerifyClient require

SSLVerifyDepth  1


2:在phpStudy安装目录的根目录中(例如我的phpstudy安装在D盘,就在D盘中新建)新建Apache24文件夹,并在里面新建cgi-bin、conf、htdocs、logs四个文件夹,在htdocs里面新建index.html,用来一会儿测试,conf文件夹存放我们生成的证书。


3:生成各种证书

3-1:把Apache\conf文件夹下的openssl.cnf文件复制到Apache24\conf文件夹中,如图:

3-2:在Apache24\conf文件夹中按住shift+鼠标右键打开命令窗口

首先要生成服务器端的私钥(key文件):

set OPENSSL_CONF=openssl.cnf

openssl genrsa -des3 -out server.key 1024

这是需要输入一个server.key,我这里输入的都是1234

3-3:生成server.csr ,Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可

openssl req -new -key server.key -out server.csr -config openssl.cnf

server.key为上面设置的1234,下面还有设置key的地方,为了避免记错,我傻瓜式的都设置成了1234

Commen Name:为httpd-ssl.conf  》 ServerName 中填写的域名,去掉www

3-4:对客户端也作同样的命令生成key及csr文件,输入信息一样即可

openssl genrsa -des3 -out client.key 1024

openssl req -new -key client.key -out client.csr -config openssl.cnf

3-5:CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

3-6:新建demoCA文件夹,进入,新建newcerts文件夹;新建index.txt;新建serial文件,打开后输入01保存即可。如图:

3-7:用生成的CA的证书为刚才生成的server.csr,client.csr文件签名

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

3-8:openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx

生成一个ca.pfx,打开IE浏览器-》工具-》Internet选项-》内容-》证书,按照提示导入,这里要输入刚才生成 .pfx 过程中输入的密码

3-9:在httpd.conf中找到下面这句话 #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 取消注释(删掉前面的"#")

3-10:openssl rsa -in server.key -out server.key 生成的server.key


然后打开httpd-ssl.conf 找到SSLPassPhraseDialog builtin 在前面加上#

3-11:在系统盘C:\Windows\System32\drivers\etc\hosts 文件中添加 127.0.0.1 想本地访问的域名例如www.qrcodelocal.com 保存关闭,重启Apache,浏览器访问https://www.qrcodelocal.com应该就可以访问了。

注:有时相同域名重新生成client.csr时会提醒there is already a certificate已经有一个证书了。那就把当前证书撤销:openssl ca -keyfile ca.key -cert ca.crt -revoke .\demoCA\newcerts\01.pem(猜测.pem文件应该保持序号最大的最新的),然后再重新运行即可

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值