window系统创建自签名SSL证书设置Https

原文链接:https://dsx2016.com/?p=1790

公众号:大师兄2016

应用场景

手机代理到电脑端

使用测试域名调试微信支付,需要在微信内置浏览器和手机自带浏览器唤起微信支付

测试公众号只配置了https的url地址

tips:

  1. 微信公众哈后台的支付路径区分http和https

  2. hosts文件和nginx配置在没有SSL证书的情况下,无法代理https流量,所以需要申请自签名证书

img

 

OpenSSL

github地址

https://github.com/openssl/openssl

官方文档

https://www.openssl.org/

快捷安装包地址

http://slproweb.com/products/Win32OpenSSL.html

下载window exe安装包

img

 

安装OpenSSL

同意,并下一步

img

记住安装的文件夹路径,待会会用到

img

下一步

img

下一步

img

下一步

下一步

img

下一步

img

安装成功

 

生成SSL

打开安装OpenSSL的文件夹,进入bin目录

img

以管理员身份打开openssl.exe文件

img

输入以下命令

 

genrsa -des3 -out server.key 2048

 

回车,再依次输入2次密码,直接输入123465就行

完成后自动生成server.key文件

img

继续使用key自签名生成csr文件

输入以下命令

 

req -new -key server.key -out server.csr

 

注意,会先输入密码,在输入其他信息,最后再输入密码

参数说明

 

Country Name (2 letter code) [AU]:CN #国家
State or Province Name (full name) [Some-State]:Beijing #省
Locality Name (eg, city) []:Beijing #市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ncda #公司
Organizational Unit Name (eg, section) []:IT #部门
Common Name (e.g. server FQDN or YOUR name) []:localhost #域名 这里需要输入服务器的域名
Email Address []:kong.weisheng@nidec.com #邮箱

img

到这里就生成了server.csr文件

 

删除密码

为了避免每次启动服务器都要输入SSL密码,在这里生成一个不需要密码的key

输入以下命令

[dsx_def_highlightjs code=code]

rsa -in server.key -out server_no_passwd.key

 

输入之前设置的密码确认即可

img

继续生成自签名文件

 

x509 -req -days 365 -in server.csr -signkey server_no_passwd.key -out server.crt

 

到这里就可以了

img

双击server.crt安装证书

img

设置hosts

img

开启nginx

 

#user  nobody;
worker_processes 1;
events {
    worker_connections 1024;
}
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    # 代理测试环境
    server {
        listen 80;
        server_name test.com;
        location / {
            # root html;
            # index index.html index.htm;
            proxy_set_header host $host;
            proxy_pass http://127.0.0.1:8095;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
     # test
    server {
        listen 443;
        # test
        server_name test.com;
        ssl on;
        # root html
        # index index.html index.htm;
        # SSL证书放在了同级目录small文件夹下面
        ssl_certificate cert/test/server.crt;
        ssl_certificate_key cert/test/server_no_passwd.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            # 指向当前的某个服务端口
            proxy_pass http://127.0.0.1:8095;
            #设置请求头,并将头信息传递给服务器端
            proxy_set_header Host $host;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }
}

 

访问https://test.com

img

继续前往,虽然没有小绿锁,但是能正常访问并获取数据

也能唤起微信支付了

img

END.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Windows系统上生成SSL证书的方法如下: 1. 安装OpenSSL:首先,你需要在Windows系统上安装OpenSSL工具。你可以从OpenSSL的官方网站下载适用于Windows的安装程序,并按照提示进行安装。 2. 打开命令提示符:按下Win + R键,输入"cmd"并按下Enter键,以打开命令提示符窗口。 3. 切换到OpenSSL安装目录:在命令提示符中,使用`cd`命令切换到OpenSSL的安装目录。例如,如果OpenSSL安装在C盘的Program Files目录下,则可以使用以下命令切换目录: ``` cd C:\Program Files\OpenSSL-Win64\bin ``` 4. 生成私钥和证书签名请求(CSR):使用以下命令生成私钥和CSR文件: ``` openssl req -newkey rsa:2048 -nodes -keyout private.key -out csr.csr ``` 这将生成一个2048位的RSA私钥文件(private.key)和证书签名请求文件(csr.csr)。 5. 填写证书信息:运行上一步生成的命令后,会提示你填写一些证书信息,如国家、省份、城市、组织名称、通用名称等。根据提示逐项填写,并确保通用名称与你要使用证书的域名相匹配。 6. 生成自签证书:使用以下命令生成自签证书: ``` openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt ``` 这将使用私钥和CSR文件生成自签证书文件(certificate.crt)。 7. 完成:生成的私钥文件(private.key)和自签证书文件(certificate.crt)即可用于配置SSL。 请注意,自签证书只适用于测试和开发环境,如果你需要在生产环境中使用SSL证书,建议购买由受信任的证书颁发机构(CA)颁发的证书
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值