下载openssl并安装,下载地址:http://slproweb.com/products/Win32OpenSSL.html

假设安装路径为C:\"Program Files"\OpenSSL-Win64\bin\openssl.exe

如果没有加入系统环境变量,下面的命令里的openssl要换成安装路径的值

一、生成秘钥

openssl genrsa 1024 > server.key

这是用128位rsa算法生成密钥,得到server.key文件 > 是输出文件的标识符

二、生成未签署的server.csr

openssl req -new -key server.key > server.csr

这是用步骤1的密钥生成证书请求文件server.csr, 这一步会有很多参数,需要一一输入

Country Name (2 letter code) [AU]:CN ISO国家代码(只支持两位字符)
State or Province Name (full name) [Some-State]:ZJ所在省份
Locality Name (eg, city) []:HZ所在城市
Organization Name (eg, company):SW_TECH公司名称
Organizational Unit Name (eg, section) []:SW_TECH组织名称
Common Name (eg, YOUR name) []:kedou.com申请证书的域名
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 []:  注:Common Name必须和httpd.conf中server name必须一致,否则apache不能启动 (启动apache时错误提示为:RSA server certificate CommonName (CN) `Kedou' does NOT match server name!? )

四、签署服务器证书文件server.crt
openssl req -x509 -days 365 -key server.key -in server.csr > server.crt 
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天,x509表示生成的为X.509证书。

五、这一步可选,配置apache的httpd.conf.
在conf目录下的httpd_ssl.conf文件是关于ssl的配置,是httpd.conf的一部分,在 httpd.conf中找到给文件的引用,移除对应的注释
Include conf/extra/httpd-ssl.conf
LoadModule ssl_module modules/mod_ssl.so

修改httpd-ssl.conf文件 并配置
SSLCertificateFile "D:/phpStudy/Apache/conf/ssl/server.crt" (具体的服务器地址)
SSLCertificateKeyFile "D:/phpStudy/Apache/conf/ssl/server.key" (具体的服务器地址)
CustomLog "D:/PHPStudy/Apache/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

配置
<VirtualHost _default_:443>

# General setup for the virtual host
DocumentRoot "D:/PHPStudy/WWW/" (域名带访问的目录)
ServerName www.rgweb.com:443 (域名)
ServerAdmin admin@admin.com (管理员邮箱)
ErrorLog "D:/PHPStudy/Apache/logs/ssl_error.log.txt" (写入日志)
TransferLog "D:/PHPStudy/Apache/logs/ssl_trans_error.log.txt" (写入日志)

至此重启apache 
浏览器输入 https 加你配置的域名

注:错误:WARNING: can't open config file: /apache24/conf/openssl.cnf

解决:将openssl_conf 放入环境变量  set openssl_conf=../conf/openssl.cnf

错 :Unable to write ‘random state

解决:是因为没有用管理员进入cmd,使用管理员身份进入cmd 就解决了

六、用flask等程序的话直接调用生成证书即可

flask使用证书,如果报ssl错误,需注意证书在代码里的位置是否有调换,

'server.crt','server.key'这两个证书出现在代码里的位置不可以调换
app.run('0.0.0.0', debug=True, port=5000, ssl_context=('server.crt','server.key'))

windows配置openssl的更多相关文章

  1. Windows下openssl的下载安装和使用

    Windows下openssl的下载安装和使用 安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装ope ...

  2. windows配置nginx实现负载均衡集群

    windows配置nginx实现负载均衡集群2014-08-20 09:44:40   来源:www.abcde.cn   评论:0 点击:617 网上大部分关于nginx负载均衡集群的教程都是lin ...

  3. Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行

    遇到这个问题是用辅助工具(WinNTSetup3.exe)进行的安装,重启后就就遇到“Windows 安装程序无法将 Windows 配置为在此计算机的硬件上运行” 解决:在WIN PE 下挂载安装光 ...

  4. windows安装程序无法将windows配置为在此计算机的硬件上运行

    关于装windows系统时,出现一些安装中断的处理 该方法适用于 windows安装程序无法将windows配置为在此计算机的硬件上运行 计算机意外地重新启动或遇到错误. Windows 安装无法继续 ...

  5. 【NO.3-1】Jmeter - 在Windows配置HOSTS的方法

    在Windows配置HOSTS 那么还记得Windows如何修改HOSTS文件吗? (1) 进入到C:\Windows\System32\drivers\etc (2) 通过”记事本”来打开hosts ...

  6. windows配置nginx实现负载均衡集群 -请求分流

    windows配置nginx实现负载均衡集群 一.windows上安装nginx 1.下载nginx的windows版本http://nginx.org/en/download.html 2.把压缩文 ...

  7. FAT16/32不等于ESP:windows安装程序无法将windows配置为在此计算机的硬件上运行

    今天给公司电脑装系统,由于公司特殊需要,要给新电脑装win7系统.三台完全一样的华硕adol笔记本,前两台都和win10并存装成了双系统,第三台被不懂系统的人尝试装win7搞坏了,只能全盘格式化后再装 ...

  8. windows配置cider和clojure clj

    windows配置cider和clojure clj */--> pre.src {background-color: #292b2e; color: #b2b2b2;} windows配置ci ...

  9. windows配置Python多版本共存

    windows配置Python多版本共存 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近Python开发蛮火的,三年前我的一个运维朋友就告诉我说Python语言将来会很火,当时 ...

随机推荐

  1. Java HttpClient4.5.2发送post请求示例

    public static Map<String, Object> invokeCapp(String URL, Map paramMap) throws Exception { Map ...

  2. 玩转PIL库

    1.安装pillow库: 在cmd下,输入简单的命令: pip install pillow  即可安装pillow库. 2.PIL库的简介: 1. PIL库主要有2个方面的功能: (1) 图像归档: ...

  3. spring @CrossOrigin解决跨域问题

    阅读目录: 一.跨域(CORS)支持: 二.使用方法: 1.controller配置CORS 2.全局CORS配置 3.XML命名空间 4.How does it work? 5.基于过滤器的CORS ...

  4. 微信小程序遍历Echarts图表,实现多个饼图

    如何在微信小程序中使用Echarts可以看我的另一个教程:点击查看 首先看一个简单的例子 1.wxml文件 <view style='width:100%;height:200rpx'> ...

  5. CI/CD持续集成/持续部署 敏捷开发

    敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力.它 ...

  6. Python @property 方法

    考察 Student 类: class Student(object): def __init__(self, name, score): self.name = name self.score = ...

  7. BeanShell用法汇总(部分摘抄至网络)

    说明:本文部分资料摘抄至 来源: http://www.cnblogs.com/puresoul/p/4915350.html 来源: http://www.cnblogs.com/puresoul/ ...

  8. k8s简单的来部署一下tomcat,并测试自愈功能

    前言: 2018年12月6日 今天终于把k8s运行tomcat打通了,耗了我几天时间一个一个坑踩过来,不容易啊,废话不多说. 先记录一些操作时的错误: <<<<<< ...

  9. 数据标记系列——图像分割 & PolygonRNN++(一)

    当前大多数图像语义分割算法都是基于深度学习的方式,但是深度学习的效果很大程度上是依赖于大量训练数据的.目前的图像分割方法无非两种,一种是通过标注人员手动标注,如Cityscapes(提供无人驾驶环境下 ...

  10. 洛谷 p1090 合并果子

    https://www.luogu.org/problemnew/show/P1090 优先队列的经典题目 体现了stl的优越性 #include<bits/stdc++.h> using ...