Skip to content

Emulated server: add SessionKey handshake support #727

@gijzelaerr

Description

@gijzelaerr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions