- Newest
- Most votes
- Most comments
Based on the information provided, it appears you're experiencing a common SSL/TLS handshake issue when connecting your SIM7022 modem to AWS IoT Core via MQTT. Here are some insights and recommendations to help resolve the issue:
-
Certificate Chain Verification: Ensure that your device has the complete certificate chain for server authentication. AWS IoT Core presents a certificate chain that devices use to verify they're communicating with AWS IoT Core. Make sure you have installed the Amazon Root CA 1 certificate, and potentially the Amazon Root CA 2, 3, and 4 certificates in your device's trust store.
-
Server Name Indication (SNI): You've correctly enabled SNI, which is crucial. SNI is required for features like multi-account registration, configurable endpoints, and custom domains. Ensure that the hostname is correctly set in your MQTT connection parameters.
-
TLS Version: AWS IoT Core uses TLS version 1.2 and 1.3. While you assume TLS 1.2 is being used, it's worth explicitly setting this if possible. Check if there's an AT command to set the TLS version for your SIM7022 modem.
-
Cipher Suites: AWS IoT Core supports specific cipher suites. Ensure your modem supports and is configured to use a compatible cipher suite, such as TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. Check if there's an AT command to list or set supported cipher suites.
-
Certificate Expiration: Verify that your device certificate and CA certificates are not expired. CA certificates have expiration dates and should be updated regularly.
-
ALPN Protocol: For X.509 client certificate authentication on port 443, Application Layer Protocol Negotiation (ALPN) is required. Check if your modem supports ALPN and if it's correctly configured.
-
Policy Permissions: Ensure that the policy attached to your device certificate allows the necessary actions for connecting to AWS IoT Core.
-
Debugging: Look for AT commands that can provide more detailed SSL/TLS handshake logs. External tools like a protocol analyzer (e.g., Wireshark) can be invaluable for debugging the handshake process if you can capture the network traffic.
-
Firmware Update: Consider checking for any firmware updates for your SIM7022 modem that might address SSL/TLS connectivity issues.
-
AWS IoT Core Endpoint: Double-check that you're using the correct AWS IoT Core endpoint for your account and region.
If the issue persists after verifying these points, you may need to contact the modem manufacturer for specific guidance on SSL/TLS configuration for AWS IoT Core connectivity. They might have additional AT commands or configuration options that can help resolve the handshake failure.
Remember, successful TLS handshake and connection to AWS IoT Core requires proper configuration of both the client (your device) and the server (AWS IoT Core), so ensuring all aspects are correctly set up is crucial for establishing a secure MQTT connection.
Sources
Server authentication - AWS IoT Core
Device communication protocols - AWS IoT Core
Set up and troubleshoot AWS IoT Greengrass with client devices - AWS Prescriptive Guidance
answered a year ago
Relevant content
asked a year ago
asked 2 years ago
