bonk-dev / HarpoS7

HarpoS7 is a C# library for authenticating sessions in the S7 Comm Plus protocol, supporting both legacy challenge (TIA Portal V16 and older) and TLS authentication (TIA Portal V17 and newer).
MIT License
10 stars 1 forks source link

Combine Informations #1

Closed thomas-v2 closed 2 months ago

thomas-v2 commented 7 months ago

Hi,

I'm working also on a driver, which is only supporting TLS (using OpenSSL). But I've done most of the high level stuff (low level is in rough shape). Maybe we can combine it? I would be willing to change the license from LPGL to a more freely one.

bonk-dev commented 7 months ago

I'm going to upload this lib to Nuget soon so you will be able to use it (no need to change the license, since HarpoS7 is using MIT). I can help you with integrating it into your driver later on.

mycroes commented 7 months ago

May I chime in as well? I'm the maintainer of S7NetPlus and creator of Sally7, I'm very interested in at least getting Sally7 to a more modern protocol version. Both libraries are MIT licensed.

thomas-v2 commented 7 months ago

I've got a running version, but it does only support TLS supporting CPUs:

https://github.com/thomas-v2/S7CommPlusDriver

Even if you want to connect to a password protected CPU with TLS, you'd need parts of the authentication used in this HarpoS7 library. CPU password authentication uses a different string to build another derivative key, as far as I know.

bonk-dev commented 7 months ago

@thomas-v2 I didn't look into the password auth yet, but during my reverse-engineering sessions I did see a different derive function - I will take a look at it when I have some free time later.

@mycroes Sure! I do know S7NetPlus - I've contributed some code myself. I'm working on releasing an actual public key store so that anyone can download the lib from nuget and use it as is, without dumping anything.

mycroes commented 7 months ago

@bonk-dev Yeah I recognized your name and profile pic. I think I've also been in (short) contact with Thomas in 2019, but back then he didn't feel much for supporting work on a C# implementation 😉. Anyway, I still have a lot of catching up to do on all this, I currently have no clue how different S7ComPlus is from the legacy S7 protocol, but it's something I'd very much like to support.

bonk-dev commented 6 months ago

@thomas-v2 I finally found some time to look into password auth. I was planning on making a doc on how it works but I'm drained for now. I pushed my changes to main and uploaded the new version to nuget.

bonk-dev commented 2 months ago

Closed due to no response