网上很多生成自签证书的教程,大部分都是在linux下的,或者win下使用xca工具的,今天介绍一下使用apache带的openssl工具来生成证书。
生成证书有俩种方式,一:1.生成秘钥文件;2.生成请求文件;3.签署服务器证书;二:1.生成CA证书和请求证书;2.生成秘钥;3.签署服务器证书;第二种方法比较简洁。
第一种生成方式:
1、在apache的bin目录打开dos窗口,并设置ssl配置文件目录(apache的ssl配置文件目录默认在conf下),命令
set openssl_conf=../conf/openssl.cnf
2、生成秘钥文件,命令
openssl genrsa 1024>server.key
这个时候会在bin目录下多一个server.key文件,如果执行过程中报找不到openssl.cnf,那说明你的ssl配置文件不在conf下,自行查找文件所在位置。也可以带密码-des3
3、生成请求文件,命令
openssl req -new -key server.key>server.csr
这个时候会让我们配置一些证书的信息,不用管一路enter即可,你想配置的话也是可以的,需要注意的是Common Name证书域名要跟你配置ssl的时候一直,否则apache启动不了。
4、签署服务器证书,命令
openssl req -x509 -key server.key -in server.csr>server.crt
同上。默认证书的有效期是一个月,你也可以加上-days设置证书有效期。
然后我们把服务器证书和秘钥配置到我们的ssl中即可完成https的访问,发现很多人不会配置ssl,我们最下面介绍配置。
第二种生成方式:
1、生成CA证书和请求证书,命令如下
openssl req -config ../conf/openssl.cnf -new -out server.csr -keyout server.pem
随便输入俩次密码即可,证书信息同上面一样。
2、生成秘钥,命令如下
openssl -in server.pem -out server.key
3、签署服务器证书,命令如下
openssl x509 -in server.csr -out server.crt -req -signkey server.key
跟上面一样,生成的证书有效期是一个月,加-days参数自行设置时间即可。
是不是感觉比使用xca更加清晰呢?
ssl配置
1、复制一份正常的http网站配置,如下

2、把端口和证书文件改好即可,如下
