amazon-web-services - x509:由未知机构使用 AWS IoT 签署的证书
问题描述
尝试使用 AWS IoT SDK for go 将消息发布到主题时,出现以下错误:“x509:证书由未知机构签名”。我在 Windows 上,我所做的只是安装不同的根 CA(字面意思是通过双击)和 AWS IoT 控制台生成的设备证书。
我觉得我应该以某种方式指定证书的路径,但与 Python SDk 不同的是,go 没有在任何地方提到这一点。我还通过 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)
}
解决方案
发现错误:xxxxxxxxxx.iot.eu-central-1.amazonaws.com 需要为 xxxxxxxxxx-ats.iot.eu-central-1.amazonaws.com。
推荐阅读
- reactjs - 如何仅搜索多值反应选择中的选定选项?
- c# - 是否可以在每次调用时替换一个属性?
- python-3.x - 如何跟踪在容器内运行的 Alembic 脚本的状态
- pytorch - Pytorch 1.8 在调用 loss.backward() 时偶然挂起
- jquery - Jquery table.destroy 在第一次点击时不起作用
- xml-parsing - 以编程方式修改 FCP XML 文件中的持续时间?
- class - 有什么方法可以减少 Delphi 代码/以某种方式将其他对象放入变量中?
- python - 如何相互打印文件的行python
- twilio - 在会议成员加入时将其置于保留状态,然后全部取消保留?
- excel - 打开失败:ENOENT(没有这样的文件或目录)用于读取 Excel 文件