本文主要是介绍视频通话会议系统EasyRTC报certificate signed by unknown authority错误解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
由于市场上对企业视频通话的需求越来越高,目前市面上的一些视频通话会议系统无法全部兼容所有的要求,为此我们对视频通话会议系统EasyRTC也做了升级更新。
我们的研发人员最近在进行EasyRTC新版调试视频的时候,发现报错“x509: certificate signed by unknown authority”,本文我们一起来看一下什么原因,为后面碰到同样报错的人做参考。
在EasyRTC产品开发过程中,Go语言开发的程序需要向底层C语言开发的程序发送http请求获取部分信息。
resp, err := client.Get(GetAPIURL("/api/v1/getlivesessions?id="+id))
if err != nil {log.Println(err)return nil
}
此程序最终出现错误,返回nil。
在C语言程序中,收到HTTP请求后,会自动将此请求代理到HTTPS请求中,因此在Go语言发送HTTP请求后,会收到HTTPS的证书,然后验证证书的有效性。一般来说,如果是私有生成的证书,或者未经过第三方权威证书公司认证后的证书,浏览器和官方都会提示错误。C中的HTTPS证书为默认私有证书,因为会出现“x509: certificate signed by unknown authority”错误。
因为是本机访问C程序的接口,在此种场景下,不需要考虑安全问题,因此只需要在Go原因开发时,不验证证书即可正常获取接口信息。
按照以下方式编写获取不需要校检证书。
func getClient() *http.Client {tr := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true},}client := &http.Client{Timeout: 3 * time.Second,Transport: tr,}return client
}
其中TLSClientConfig: &tls.Config{InsecureSkipVerify: true}代表为不需要校验证书。如果InsecureSkipVerify设置为false,则会校验证书。
EasyRTC播放效果:
这篇关于视频通话会议系统EasyRTC报certificate signed by unknown authority错误解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!