Hallo
Ich habe mir ein B-L475E-IOT01A Discovery Board mit STM32 gekauft.
Ich versuche gerade die IOT Demo aus der en.x-cube-aws.zip von ST zum
laufen zu bringen.
Als Entwicklungsumgebung verwende ich Atollic TrueStudio.
Ich konnte das Projekt importieren und auf das Board kopieren.
Der Debugmodus läuft und die Ausgabe über die serielle Konsole
ebenfalls.
Die Wlan-Verbindung funktioniert und eine IP wird zugewiesen.
Ich habe bei Amazon AWS einen Zugang erstellt, ein "Thing" erstellt und
die entsprechenden Zertifikate angelegt.
Leider bekomme ich beim Verbindungsaufbau zu Amazon viele
Fehlermeldungen.
Die erste lautet:
1 | ..\..\..\..\..\..\..\..\Middlewares\Third_Party\mbedTLS\library\ssl_tls.c:4454: x509_verify_cert() returned -9984 (-0x2700)
|
Ich kenne mich mit SSL leider gar nicht aus :(
An der entsprechenden Codestelle ist die root CA sowie das erzeugt
Zertifikat bekannt.
Der Funktionsaufruf sieht folgendemaßen aus:
1 | ret = mbedtls_x509_crt_verify_with_profile(
|
2 | ssl->session_negotiate->peer_cert,
|
3 | ca_chain, ca_crl,
|
4 | ssl->conf->cert_profile,
|
5 | ssl->hostname,
|
6 | &ssl->session_negotiate->verify_result,
|
7 | ssl->conf->f_vrfy, ssl->conf->p_vrfy );
|
Ich habe mir den struct von ca_chain und ca_crl im debugger angeschaut.
Zumindest die Zeiten gültig von/bis der ca_chain werden im debugger
identisch zu den Werten angezeigt, die mir auch unter Windows angezeigt
werden. Daher gehe ich davon aus, dass die root CA korrekt gelesen wird.
ca_crl scheint irgendwie kaputt zu sein. Dort gibt einen pointer für
raw-Werte, der auf 0x8004e91 <NMI_Handler> zeigt.
Kennt jemand die Demo Projekte und kann mir einen Tip geben, wo der
Fehler liegen könnte?
Vielen Dank.