在这一章节里, 我记录了一下如何在 wamp 环境下配置 ssl

前提条件

在设置 Apache + SSL 之前, 需要确认 Apache 已经安装并可以正常工作. 并且 ssl 需要的文件在如下的位置:

1
2
3
4
5
[Apache安装目录]/modules/ mod_ssl.so
 
[Apache安装目录]/bin/ openssl.exe, libeay32.dll, ssleay32.dll
 
[Apache安装目录]/conf/ openssl.cnf

配置文件修改

1
2
3
//去掉下面行首的 # 号
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf

用于载入 ssl 模块和其配置文件

认证文件生成

在命令行下进入Apache安装目录下\bin文件夹,输入命令:

1
2
3
//生成证书签发请求
 
D:\wamp\apache\bin> openssl req -new -out server.csr -config ../conf/openssl.cnf
1
2
3
4
5
6
7
8
9
10
//回车后要求输入密码和确认密码
 
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
......................................................................++++++
........................................++++++
writing new private key to 'privkey.pem'
Enter PEM pass phrase: 123456
Verifying - Enter PEM pass phrase: 123456
-----
1
2
3
4
5
6
7
8
9
10
//确认密码输完回车后, 要求输入国家缩写, 只能2个字母
 
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
1
2
3
//要求输入州名或省名
 
State or Province Name (full name) [Some-State]:Shanghai
1
2
3
//要求输入城市名
 
Locality Name (eg, city) []:Shanghai
1
2
3
//要求输入组织名或者公司名
 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:yiban
1
2
3
//要求输入部门名
 
Organizational Unit Name (eg, section) []:yiban
1
2
3
//要求输入服务器域名或IP地址
 
Common Name (e.g. server FQDN or YOUR name) []:yiban
1
2
3
//要求输入邮件地址
 
Email Address []:shawn0828@hotmail.com
1
2
3
4
5
//要求输入密码
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
1
2
3
//要求输入公司别名
 
An optional company name []:yiban
1
2
3
//生成私钥,输入命令:
 
D:\wamp\apache\bin>openssl rsa -in privkey.pem -out server.key
1
2
3
4
//要求输入之前 privkey.pem 的密码
 
Enter pass phrase for privkey.pem: 123456
writing RSA key
1
2
3
//创建证书,输入命令:
 
D:\wamp\apache\bin>openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 8000
1
2
3
4
5
6
7
//回车后, 显示创建成功, 有效期为 8000 天
 
Loading 'screen' into random state - done
Signature ok
subject=/C=CN/ST=Shanghai/L=Shanghai/O=yiban/OU=yiban/CN=yiban/emailAddress=shaw
n0828@hotmail.com
Getting Private key

完成后, 将 \bin 下面的 server.csr、server.crt、server.key 拷贝到 [Apache安装目录]\conf\ssl 文件夹中, 没有则创建

再打开 [Apache安装目录]\conf\extra\httpd-ssl.conf 文件
替换 SSLCertificateFile 和 SSLCertificateKeyFile 语句对应的路径,例:

1
2
3
4
#SSLCertificateFile "D:/wamp/apache/conf/server.crt" //配置文件默认内容
 
//替换为
SSLCertificateFile "D:/wamp/apache/conf/ssl/server.crt"
1
2
3
4
#SSLCertificateKeyFile "D:/wamp/apache/conf/server.key" //配置文件默认内容
 
//替换为
SSLCertificateKeyFile "D:/wamp/apache/conf/ssl/server.key"

最后, 重启 Apache 服务器

2013的某一天

在重启 Apache 时,若遇到 Apache 无法运行的情况

1
2
可以运行开始菜单中 Apache HTTP Server 2.2\Configure Apache Server\Test Configuration
来查找 httpd.conf 中的详细错误情况
1
或通过查看 Apache 安装目录下的 logs 文件夹内的 access.log 和 error.log 中的记录解决问题

如有更好的建议和代码片段,欢迎留言提出

wamp openssl的更多相关文章

  1. windows中wamp环境composer使用中openssl问题解决

    今天在windows下学习lavaral,使用composer update命令报如下错误: [Composer\Exception\NoSslException] The openssl exten ...

  2. wamp下开启SSL,解决APACHE启动问题

    wamp开启SSL解决wamp5_1.7.4中APACHE启动问题 1.#修改httpd.conf文件LoadModule ssl_module modules/mod_ssl.soInclude c ...

  3. 在Windows的Wamp环境下安装Composer

    注意: PHP缺少openssl扩展. 你可能会去屏幕右下角的Wamp的控制台,去加载php的openssl扩展,或者在php.ini中去掉 extension=php_openssl.dll 这一行 ...

  4. 在wamp集成环境下安装laravel5.2.*框架

    虽然官方一直强烈推荐使用homestead,但是这个相对麻烦一点,所以我还是选择使用wamp集成开发环境.还有这里我只讲解windows系统下的安装,其他例如mac或linux就不写了,此文章是面向刚 ...

  5. wamp环境搭建(apache安装,mysql安装,php安装)

    1.软件安装说明 WAMP:Window操作系统+Apache软件+PHP解析器+MySQL软件 2.Apache执行流程 用户向服务器端发送请求àDNS解析àIP地址à端口àApache服务 Apa ...

  6. win7/win8下手工搭建WAMP环境

    win7/win8下手工搭建WAMP环境. 最近学习wamp,看了好多教程,出来好多问题,终于成功搞定,这里集合了一下最好的教程,写了一些自己的经验,希望大家有用 这里不能上传图片,我就写了个带pdf ...

  7. windows下安装Composer提示缺少openssl的解决方法

    在Windows环境下安装Composer(注:Composer要求PHP版本在5.3.2+),你可能会遇到这种安装失败的情况:出错信息是 "The openssl extension is ...

  8. 秋初 WAMP 集成环境 v2.1

    基于QT的PHP集成开发环境v2.1 https://gitee.com/xiaqiuchu/wamp-integrated-environment 界面预览 已实现功能 服务的启动.关闭.重启. p ...

  9. RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密

    最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...

随机推荐

  1. Mock Framework

    Typemock Isolator; Rhino Mocks; NMock; MS Fakes(has not same mechanism with NMock) Mock is usually u ...

  2. 【SQL】SELECT 语句

    1.1 SELECT基本语法: Select * |{[distinct]colum|expression [alias],…} from table; 1.2 查询当前用户所有在用的表及视图: HR ...

  3. 我的C++笔记(语句基本结构)

    #include <iostream> using namespace std; int main() { unsigned char c1=24; int year; bool isLe ...

  4. java连接AD域

    import org.springframework.boot.autoconfigure.SpringBootApplication; import java.util.Hashtable; imp ...

  5. JavaScript回顾一下js的基础知识,以及学习一下在项目中了解到的新知识

    学习文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Functions https://www.cnblogs.com ...

  6. PuTTY 命令行改进 有效解决 中文乱码

    PuTTY  是一个免费且跨平台的并支持SSH和Telnet 的客户端, 包括xterm 终端模拟器. 它由Simon Tatham 编写并维护. http://www.chiark.greenend ...

  7. SQL数据查询

    CREATE TABLE class0328( id INT, cname ), sex ), age INT, birthday DATE, html DOUBLE, js DOUBLE, scor ...

  8. JS 封装一个判断闰年平年的方法 aa(nian)

    nn(2017) function nn (nian){ if(nian%4 == 0 && nian%100 !== 0 || nian%400 ==0 ) { alert(&quo ...

  9. 原生node写一个静态资源服务器

    myanywhere 用原生node做一个简易阉割版的anywhere静态资源服务器,以提升对node与http的理解. 相关知识 es6及es7语法 http的相关网络知识 响应头 缓存相关 压缩相 ...

  10. Linux下常用函数-字符串函数

    inux下常用函数-字符串函数 atof(将字符串转换成浮点型数)  相关函数   atoi,atol,strtod,strtol,strtoul 表头文件   #include <stdlib ...