zoukankan      html  css  js  c++  java
  • 微信小程序证书问题整理

    2017年年底,朋友托我开发一款二次分销小程序,需求比较简单,于是随口答应了下来。

    个人之前做过一款小程序(无数据交互,纯展示效果 ),但现在的需要有数据交互功能,心里咯噔一下,发现并没那么简单。

    由于小程序API域名需要SSL证书,这里我用的是腾讯云的免费版DVSSL证书。

    申请步骤:

    1.访问 https://console.cloud.tencent.com/ssl

    2.申请证书

    3.填入相应信息

    4.域名身份验证

    5.IIS 证书部署

    5.1 获取证书

    IIS文件夹内获得SSL证书文件 www.domain.com.pfx。

    5.2 证书安装

    1、打开IIS服务管理器,点击计算机名称,双击‘服务器证书’
    3.2.1

    2、双击打开服务器证书后,点击右则的导入
    3.2.2

    3、选择证书文件,如果输入申请证书时有填写私钥密码需要输入密码,否则输入文件夹中密码文件keystorePass.txt的密码内容,点击确定。参考私钥密码指引
    3.2.3

    4、点击网站下的站点名称,点击右则的绑定
    3.2.4

    5、打开网站绑定界面后,点击添加
    3.2.5

    6、添加网站绑定内容:选择类型为https,端口443和指定对应的SSL证书,点击确定
    3.2.6

    7、添加完成后,网站绑定界面将会看到刚刚添加的内容
    3.2.7

    按照以上操作证书就搞定了,现在进入API调试阶段。

    调试之前先进入此网站(https://www.ssllabs.com/ssltest)测试下服务器是否支持1.2版本

    微信小程序与第三方服务器通讯的域名5个必要条件

    1、一个已备案的域名,不是localhost、也不是127.0.0.1,域名不能加端口

    2、加ssl证书,也就是https://~~~

    4、HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0、1.1、1.2要同时支持这三个版本,一个也不能少,要不然就会出现下面这种情况

    (如果不支持请看下面的内容)

    5、微信小程序后台加上合法域名设置(一个月内改的次数是有限的,且行且珍惜)如下图

    以上5个条件,必需全满足,要不然你手机预览的时候就会发现通讯不了~~~

    另外说一下,TLS版本的问题,这个也是很多朋友经常掉的坑,我也掉过,然后直接去微软官网查了一下资料发现
    windows服务器系统的2008R2以下都不支持,所以大家xp、20003系统什么的就不用折腾了,没用的~~

    那2008R2及以上的服务器怎么升级呢?

    IIS7.5启用TLS 1.2的方法

    1.将以下红色文本另存为.reg文件,双击执行。

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNEL]
    "EventLogging"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphers]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersAES 128/128]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersAES 256/256]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersDES 56/56]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersNULL]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRC2 128/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRC2 40/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRC2 56/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRC4 128/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRC4 40/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRC4 56/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRC4 64/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersRSA 128/128]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersTriple AES 128/128]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersTriple AES 256/256]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersTriple DES 168]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCiphersTriple DES 168/168]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELCipherSuites]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashes]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesMD5]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesSH512]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesSHA]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesSHA256]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesSHA384]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELHashesSHA512]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithms]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsDiffie-Hellman]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsECDH]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELKeyExchangeAlgorithmsPKCS]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified Hello]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloClient]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsMulti-Protocol Unified HelloServer]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Client]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsPCT 1.0Server]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Client]
    "DisabledByDefault"=dword:00000001
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 2.0Server]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Client]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsSSL 3.0Server]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Client]
    "Enabled"=dword:ffffffff
    "DisabledByDefault"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server]
    "Enabled"=dword:ffffffff
    "DisabledByDefault"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client]
    "DisabledByDefault"=dword:00000000
    "Enable"=dword:00000001
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server]
    "DisabledByDefault"=dword:00000000
    "Enable"=dword:00000001
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client]
    "DisabledByDefault"=dword:00000000
    "Enable"=dword:00000001
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server]
    "DisabledByDefault "=dword:ffffffff
    "Enable"=dword:00000000
    "Enabled"=dword:ffffffff
    "DisabledByDefault"=dword:00000000

    2.修改系统组策略 

    1点击开始 - > 输入gpedit.msc;
    2展开计算机配置 - > 管理模板- > 网络,并选择SSL配置设置;
    3双击SSL密码套件顺序和检查启用;
    4从SSL密码套件复制内容,并将其粘贴到记事本;
    5将右侧红色的文本插入到记事本文档的开头:  TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,
    6将合并后的记事本内容粘贴到SSL密码套件箱在组策略中,然后单击确定;
    7 重新启动服务器,以使更改生效;

    打开 https://www.ssllabs.com/ssltest/  进行测试,TLS1.2支持了。

  • 相关阅读:
    cocos2dx遇到的一些坑
    cocos2dx场景切换的坑
    整合quickx到普通cocos2dx
    Hadoop、spark
    Redis高级特性及应用场景
    wpf相关好资源
    MVVM模式的几个开源框架
    ASP.NET的IIS映射
    NET 开发者必备的工具箱
    C#开源汇总
  • 原文地址:https://www.cnblogs.com/xluo/p/8472369.html
Copyright © 2011-2022 走看看