Ich meinte damit das Austauschen der Komponenten.
Zumindest habe ich hier auf anhieb keinen Beitrag gefunden der beides beinhaltet ClientSocket + SSL.
Bei den
Indy Komponenten kann man ja glaub ich OpenSSL direkt mit nutzen, was aber wieder bedeutet ich muss die Klassen anpassen, was ich natürlich ungerne möchte. Ansonsten brauche ich etwas mehr Informationen was dies angeht.
Ich habe die Schlüssel die ich zur Verschlüsselung nutzen kann -> Diffie-Hellman
Nur wie verschlüssel ich danach die Daten.
1. Nach welchem Verfahren.
2. Aufgrund von Hagens Beitrag, mit einer Variablen Frame Lenge deren Ende verschlüsselt nicht eindeutig ist nach meinem derzeitigen Protokoll die Daten wieder zu entschlüsseln. Siehe letzter Abschnitt.
Das sind eigentlich die Grundlegenden Fragen um die es sich hier dreht.
Framaufbau nach Narses Bin-Tutorial
FrameHeader 8Byte
-> Bit 31 zur Kennzeichnung des Frames(4Byte)
-> Command(2Byte)
-> Anzahl der Argumente(2Byte)
Ein Argument besteht aus zwei Teilen, Die Länge ddes Argumentes nach der Größe der Variable(Int, In64, Cardinal, Word, Double, ...) dahinter dann die Daten selbst.
Sende ich einen Frame mit 3 Argumenten so weiß ich wann ich alle Argumente zusammen habe und der Frame komplett ist. Wenn ich aber die Daten verschlüssel. Also den gesamten Frame Inhalt abgesehen vom Header so weiß ich erst ob er vollständig sein könnte wenn ein neuer Frame ankommt und ich den vorherigen versuche zu entschlüsseln. Wenn aber eben kein folge Frame ankommt habe ich da das Problem. Dies könnte ich natürlich daruch lösen indem ich eben ans Ende auch etwas eindeutiges setze. Was dann wieder dem Terminatorzeichen Protokoll nah kommt. Ob es hier eine alternative gibt ausser nun ein Frame-Ende hinzuzufügen.