前段时间开发了个余额提现功能,使用的是微信企业付款到零钱的接口,在开发环境测试能正常调起接口,但是部署到测试环境时就开始报请求被中止: 未能创建 SSL/TLS 安全通道的错误,在排查问题之后基本上断定是证书的权限问题,在这里记录一下解决方法。
证书导入操作在这里就不细说了,主要说一下证书权限配置;
1、去微软官网下载证书配置程序,然后安装,或者点击证书配置程序去下载;
2、安装之后,工具默认路径在C:\Program Files (x86)\Windows Resource Kits\Tools,找到该目录启动CMD;
3、输入指令使用刚刚安装的工具,给指定的系统用户配置证书的访问权限,指令如下:
winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "你的证书名称" -a " 账号名称 "
该指令的参数可以使用--help具体查看,这里简单描述几个
-g 表示给该用户配置证书权限,该参数换成-r则表示移除用户的证书权限;
-c 后面表示证书的路径(LOCAL_MACHINE\MY 和 CURRENT_USER\My(My为windows下默认路径))
-s 后面表示证书的名称。注意:证书名称不是证书的文件名称,名称可以从mmc管理工具中证书列表的“颁发给”字段。
-a 后面表示用户名称,一般IIS运行用户为: 虚拟帐号 (虚拟账号就是该应用的应用程序池名称 )或者 NETWORKSERVICE 、ASPNET用户
成功后结果如下图:

4、程序池默认标识账户是ApplicationPoolIdentify(更安全),如果配置权限的用户名称选NETWORKSERVICE,则需要修改应用程序池的标识账户为 NETWORKSERVICE


网友评论