x509: сертификат подписан неизвестным органом с использованием AWS IoT - PullRequest
0 голосов
/ 10 апреля 2020

При попытке опубликовать sh сообщение в topi c, используя AWS IoT SDK для go, я получаю следующую ошибку: «x509: сертификат подписан неизвестным органом». Я на windows и все, что я сделал, это установил различные root CA (буквально через двойной клик) и сертификат устройства, сгенерированный AWS IoT Console.

Я чувствую, что должен как-то указать путь к сертификату, но в отличие от 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)

}

1 Ответ

0 голосов
/ 10 апреля 2020

Обнаружил ошибку: xxxxxxxxxx.iot.eu-central-1.amazon aws .com должен быть xxxxxxxxxx-ats.iot.eu-central-1.amazon aws .com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...