【问题标题】:what elliptic specific curve is needed?需要什么椭圆特定曲线?
【发布时间】:2019-01-04 17:14:33
【问题描述】:

mqtt 握手成功后 CONNECTACK 失败,使用带有 mbed TLS 的 ECC x509

我正在尝试使用 STM32 板连接到 IoT Hub。 我有一个使用 Linux 的模拟项目,该项目具有完全相同的 CA 签名的受信任和设备证书,以确保问题不在证书或服务器配置上。 Linux 设备连接良好(它使用 OpenSSL 作为芯片)

但对于我的嵌入式设备 STM32,我使用的是 mbedTLS 堆栈。

启用跟踪后,我看到发生了 15 个握手步骤,然后出现以下错误:

IoTHub Connection Status = IOTHUB_CLIENT_CONNECTION_UNAUTHENTICATED, Reason = IOTHUB_CLIENT_CONNECTION_DEVICE_DISABLED
ERROR: mqtt_operation_complete_callback L#1616
Connection Not Accepted: 0x5: Not Authorized

原因对我来说看起来很可疑,但服务器端,设备已启用并查看源代码,唯一的响应是服务器拒绝连接。

因为我排除了证书、服务器设置和传输,我假设我的问题出在 Chipper 上。

Q1) 知道需要什么特定曲线吗?

//#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
//#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
//#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
//#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
//#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
#define MBEDTLS_ECP_DP_BP256R1_ENABLED
#define MBEDTLS_ECP_DP_BP384R1_ENABLED
//#define MBEDTLS_ECP_DP_BP512R1_ENABLED
//#define MBEDTLS_ECP_DP_CURVE25519_ENABLED

Q2) 我可以启用哪些跟踪来了解服务器拒绝证书的原因。

【问题讨论】:

    标签: mqtt tls1.2 x509 azure-iot-hub mbed


    【解决方案1】:

    https://github.com/coisme/Mbed-to-Azure-IoT-Hub 声称它正在使用 Azure IoT Hub,并且它在默认配置之上启用的唯一功能是 MBEDTLS_SHA1_C

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      相关资源
      最近更新 更多