The emulated S7CommPlus server (s7/_s7commplus_server.py) doesn't include a public key fingerprint or session challenge in its CreateObject response. This means the SessionKey authentication flow (PR #724) can only be tested against a real PLC.
Once #724 is verified working on real hardware, update the test server to:
- Emit a public key fingerprint (attribute 233, e.g.
01:BD426B091F08731A) in CreateObject response
- Emit a 20-byte session challenge (attribute 303, USINT array) in CreateObject response
- Accept and validate the SecurityKey blob (address 1830) in SetMultiVariables
- Verify the FEE1DEAD magic and blob structure
This would let us regression-test the full SessionKey flow without hardware.
The emulated S7CommPlus server (
s7/_s7commplus_server.py) doesn't include a public key fingerprint or session challenge in its CreateObject response. This means the SessionKey authentication flow (PR #724) can only be tested against a real PLC.Once #724 is verified working on real hardware, update the test server to:
01:BD426B091F08731A) in CreateObject responseThis would let us regression-test the full SessionKey flow without hardware.