golang client 端怎么加载certificate.pem文件?

用oneNet的mqtt, 需要ca.pem的证书, 但这样还是连接不上

    pool := x509.NewCertPool()
    caCertPath := "./MQTTS-certificate.pem"

    caCrt, err := ioutil.ReadFile(caCertPath)
    if err != nil {
        fmt.Println("ReadFile err:", err)
        return

    }
    pool.AppendCertsFromPEM(caCrt)

    config := &tls.Config{
        RootCAs:    pool,
        MaxVersion: tls.VersionTLS12,
        MinVersion: tls.VersionTLS12,
    }

    conn, err := tls.Dial("tcp", "183.230.40.16:8883", config)
    if err != nil {
        panic(err)
    }

错误是: panic: x509: cannot validate certificate for 183.230.40.16 because it doesn't contain any IP SANs
加上跳过认证的摄氏: Connection Refused: unacceptable protocol version

同样的认证信息在mqtt.fx客户端里是可以连接上的

阅读 2.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题