import os import socket import wolfssl def run_client(file_path): # Festlegen der Cipher Suite und TLS-Version cipher_suite = "TLS_AES_128_GCM_SHA256" # Sichere Cipher Suite context = wolfssl.SSLContext(wolfssl.PROTOCOL_TLSv1_3) # TLS 1.3 verwenden context.set_ciphers(cipher_suite) print(f"TLS-Kontext mit Cipher Suite '{cipher_suite}' erfolgreich initialisiert.") # Sichere Verbindung mit dem Server herstellen try: print("Versuche, Verbindung zum Server herzustellen...") with socket.create_connection(("192.168.125.101", 5000)) as sock: print("Verbindung zum Server erfolgreich hergestellt.") with context.wrap_socket(sock, server_hostname="192.168.125.101") as ssl_sock: print("Mit dem Server verbunden und SSL-Handschlag abgeschlossen!") # Datei senden print(f"Beginne mit dem Senden der Datei '{file_path}'...") with open(file_path, "rb") as f: total_bytes_sent = 0 while chunk := f.read(1024): ssl_sock.sendall(chunk) total_bytes_sent += len(chunk) print(f"Datei '{file_path}' erfolgreich an den Server gesendet. ({total_bytes_sent} Bytes)") except Exception as e: print(f"Fehler bei der Verbindung zum Server: {e}") if __name__ == "__main__": # Dateipfad der zu übertragenden Datei file_to_send = "../testData/test.txt" # Stelle sicher, dass die Datei existiert if not os.path.exists(file_to_send): print(f"Die Datei '{file_to_send}' wurde nicht gefunden!") else: run_client(file_to_send)