Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libiso15118: TLS 1.3 EOF error while performing handshake with libiso15118 #574

Closed
FaHaGit opened this issue Mar 4, 2024 · 3 comments · Fixed by #638
Closed

libiso15118: TLS 1.3 EOF error while performing handshake with libiso15118 #574

FaHaGit opened this issue Mar 4, 2024 · 3 comments · Fixed by #638
Labels
bug Something isn't working

Comments

@FaHaGit
Copy link
Contributor

FaHaGit commented Mar 4, 2024

Environment:
everest-core:
3e5c467
libiso15118:
EVerest/libiso15118@0f34d53

EV: Trialog Testsystem

Test Sequence:

  • Start of TLS 1.3 session

Expected Behavior:

TLS handshake runs through and v2g communication starts

Observed Behavior:

TLS handshake fails with error message 1:

Feb 01 10:58:57 tarragon01 manager[20097]: 2024-02-01 10:58:57.484532 [INFO] connector_1:Evs :: EVSE ISO SLAC MATCHED
Feb 01 10:58:57 tarragon01 manager[20097]: 2024-02-01 10:58:57.517753 [INFO] connector_1:Evs :: EVSE ISO D-LINK_READY (true)
Feb 01 10:59:03 tarragon01 manager[20097]: 2024-02-01 10:59:03.906353 [INFO] connector_1:Evs :: EVSE ISO Change HLC Limits: 11040W/200A, target_voltage 0, actual_voltage 2, hack_bpt false
Feb 01 10:59:05 tarragon01 manager[20097]: 2024-02-01 10:59:05.342393 [INFO] connector_1:Evs :: EVSE ISO Change HLC Limits: 11040W/200A, target_voltage 0, actual_voltage 0, hack_bpt false
Feb 01 10:59:05 tarragon01 manager[20105]: 2024-02-01 10:59:05.833929 [INFO] iso15118_charge :: Got SDP request
Feb 01 10:59:06 tarragon01 manager[20105]: 2024-02-01 10:59:06.864023 [ERRO] iso15118_charge virtual void module::charger::ISO15118_chargerImpl::ready() :: D20Evse chrashed: Failed to mbedtls_ssl_handshake() (SSL - The connection indicated an EOF)
Feb 01 10:59:06 tarragon01 manager[20105]: 2024-02-01 10:59:06.864738 [INFO] iso15118_charge :: Shutting down SDP server!

TLS handshake fails with error message 2:

Feb 01 10:58:23 tarragon01 manager[12619]: 2024-02-01 10:58:23.580968 [INFO] connector_1:Evs :: EVSE ISO SLAC MATCHED
Feb 01 10:58:23 tarragon01 manager[12619]: 2024-02-01 10:58:23.604079 [INFO] connector_1:Evs :: EVSE ISO D-LINK_READY (true)
Feb 01 10:58:29 tarragon01 manager[12626]: 2024-02-01 10:58:29.900146 [INFO] iso15118_charge :: Got SDP request
Feb 01 10:58:29 tarragon01 manager[12626]: 2024-02-01 10:58:29.912135 [ERRO] iso15118_charge virtual void module::charger::ISO15118_chargerImpl::ready() :: D20Evse chrashed: Failed to mbedtls_net_bind() (NET - Binding of the socket failed)
Feb 01 10:58:29 tarragon01 manager[12626]: 2024-02-01 10:58:29.919936 [INFO] iso15118_charge :: Shutting down SDP

Additional note:

  • because of data privacy it is not possible to add traces (recorded on testing symposium in Arnhem January 2024)
  • Cipher Suite: TLS_AES_256_GCM_SHA384
  • in pcap trace EV terminates the connection [FIN, ACK]
  • error message 2 occurs only sporadically
  • module crashes with a SEG-fault (Module iso15118_charger exited with status: 11. Terminating all modules)
@FaHaGit FaHaGit added the bug Something isn't working label Mar 4, 2024
@SebaLukas
Copy link
Contributor

Without further information via trace or a non-existent trialog tester, I cannot reproduce the problem and debug it accordingly.
However, I will test again with Josev (TLS 1.3) in the next few days. However, I suspect that TLS 1.3 is still working in libiso15118.

Based on my experience over the last few months, I suspect that the tester is the problem.

@SebaLukas SebaLukas closed this as not planned Won't fix, can't repro, duplicate, stale Mar 5, 2024
@FaHaGit
Copy link
Contributor Author

FaHaGit commented Mar 5, 2024

But the segfault is definitely a problem with the libiso15118. No EV client should have made it so easy to shoot down our module with a segfault. If the libiso15118 works against josev it is good, but it shall also work against other implementations..

@SebaLukas
Copy link
Contributor

You are right with the segfault. This should not happen after a failed tls handshake. Please reopen this issue in the libiso15118 repo.

@FaHaGit FaHaGit reopened this Mar 7, 2024
@FaHaGit FaHaGit closed this as completed Mar 7, 2024
@SebaLukas SebaLukas linked a pull request Apr 18, 2024 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants