IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Golang服务器部署SSL超级大坑 -> 正文阅读

[网络协议]Golang服务器部署SSL超级大坑

我第一次部署golang SSL相关的东西

这2天用golang部署wss给小游戏测试

我把拿到完整的pem拆解出cert给ListenAndServeTLS传进去

为什么要拆出来用呢!?


因为ListenAndServeTLS给的传参提示是certFile string?

结果我特么给ListenAndServeTLS第二个参数使用的文件居然是这货的结果!

openssl x509 -in server.pem -out server.crt

结果是啥文件呢?crt是完整版chain的第一部分!!

然后测试了2天!研究了2天!!浪费了2天!!!我要狂暴了。

文件给https可以握手成功!

给微信开发者工具用也握手成功!

到真机体验版就特么各种握手不成功!

就在刚才,无意间看到了一篇文章:

微信小程序开发坑之——SSL证书坑 | 微信开放社区

说什么呢!?

?对证书要求如下:

  • HTTPS 证书必须有效;
  • 证书必须被系统信任,即根证书被已系统内置
  • 部署 SSL 证书的网站域名必须与证书颁发的域名一致
  • 证书必须在有效期内
  • 证书的信任链必需完整(需要服务器配置)
  • iOS 不支持自签名证书;
  • iOS 下证书必须满足苹果 App Transport Security (ATS) 的要求;
  • TLS 必须支持 1.2 及以上版本。部分旧 Android 机型还未支持 TLS 1.2,请确保 HTTPS 服务器的 TLS 版本支持
    1.2 及以下版本;
  • 部分 CA 可能不被操作系统信任,请开发者在选择证书时注意小程序和各系统的相关通告。?Chrome 56/57 内核对 WoSign、StartCom 证书限制周知

然后我又去看了一遍ListenAndServerTLS的描述:

原文描述后半段是:

If the certificate is signed by a certificate authority, the certFile should be the concatenation of the server's certificate, any intermediates, and the CA's certificate.

翻译过来就是:

如果证书是由证书颁发机构签署的,则certFile应该是服务器的证书、任何中间设备和CA的证书的串联。

什么意思呢!?

myssl.com测试后的结果如果证书链信息是3个,那么certFile就应该是3个包裹体

像这样:

-----BEGIN CERTIFICATE-----

xxxx
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

xxxx
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----

xxxx
-----END CERTIFICATE-----

然后我就说想试试完整的fullchain把,然后就成功握手了!fuc*!*!!**!*!***!

err := http.ListenAndServeTLS(strRemote, CA_PATH+"fullchain.pem", CA_PATH+"privkey.pem", nil)

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:30:49  更:2022-03-21 21:35:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:02:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码