在mqttc.tls_set中指定公钥时,是否需要PEM而不是密钥?

时间:2019-04-10 23:06:24

标签: aws-iot aws-certificate-manager

我正在尝试在AWS IOT中创建一个东西。 我已经在AWS账户中创建了一个东西,但是那里没有附加任何策略。我已经创建证书并下载了它们

1)私人证书-以密钥结尾 2)公共证书-以密钥结尾 3)根CA-证书,我已经使用过-AWS推荐的CA 1。

现在,在我的代码中-

我正在使用

out_region = None
out_value = None
sel_serie = 'Maternal mortality ratio (deaths per 100,000 population)'
min_year = 2005
max_year = 2015

for reg, dict_reg  in dict_total.items():
    print(reg)
    for year, dict_year in dict_reg.items():
        if min_year <= year <= max_year:
            print(year)
            for serie, value in dict_year.items():
                if serie == sel_serie and value is not None:
                    print('{} {}'.format(serie, value))
                    if out_value is None or out_value < value:
                        out_value = value
                        out_region = reg

 print('Region: {}\nSerie: {} Value: {}'.format(out_region, sel_serie, out_value))

但是,我遇到了以下问题-

mqttc.tls_set(CA_ROOT_CERT_FILE, certfile=THING_CERT_FILE,
              keyfile=THING_PRIVATE_KEY, cert_reqs=ssl.CERT_REQUIRED,
              tls_version=ssl.PROTOCOL_TLSv1_2, ciphers=None)

我尝试更改扩展名,但仍然失败。 作为背景,我在这里使用python 2.7和pyopenssl。 我在设置AWS-IOT方面缺少什么吗?

我的期望是将消息发布到AWS-IOT。 我正在订阅该主题,并且我想使用它。

我的主机名是-“ a3p01azi7xqox0-ats.iot.us-east-2.amazonaws.com” 我是否需要在主机名后加上arn:?

0 个答案:

没有答案