【发布时间】:2020-07-23 01:58:18
【问题描述】:
尝试使用适用于 go 的 AWS IoT 开发工具包向主题发布消息时,我收到以下错误:“x509: certificate signed by unknown authority”。 我在 Windows 上,我所做的只是安装不同的根 CA(字面意思是通过双击)和 AWS IoT 控制台生成的设备证书。
我觉得我应该以某种方式指定证书的路径,但与 Python SDK 不同的是,用于 go 的 SDK 并没有在任何地方提及这一点。我还通过 AWS Cli 添加了我的凭据,所以这不应该是问题。
package main
import (
"fmt"
"log"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/iotdataplane"
)
func main() {
sess, err := session.NewSession(&aws.Config{
Region: aws.String("eu-central-1"), Endpoint: aws.String("xxxxxxxxxx.iot.eu-central-1.amazonaws.com")},
)
if err != nil {
log.Fatal(err)
}
iotDataSvc := iotdataplane.New(sess)
input := &iotdataplane.PublishInput{
Payload: []byte(`{
'state': {
'desired':{
'humidity':10,
'temp':10
}
}
}`),
Topic: aws.String("/update"),
Qos: aws.Int64(0),
}
resp, err := iotDataSvc.Publish(input)
if err != nil {
log.Fatal(err)
}
fmt.Println(resp)
}
【问题讨论】:
标签: amazon-web-services go x509 aws-iot