Forum: Mikrocontroller und Digitale Elektronik B-L475E-IOT01A Wer hat Erfahrung?


von Tilo (Gast)


Lesenswert?

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.

von Benjamin S. (recycler)


Lesenswert?

Auf den ersten Blick würde ich sagen, dass bei deiner Certificate 
Authority (CA) das Root Zertifikat oder ein Intermediate Zertifikat 
fehlt.

So einfach ist das nicht zu debuggen.
Du kannst als erstes aber jedes der Argumente mal printen lassen, damit 
du siehst ob alles vorhanden ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.