Skip to content
Snippets Groups Projects
Commit 3477fc4f authored by Dominik Fuhrmann's avatar Dominik Fuhrmann
Browse files

adapted scripts

parent 9b994bbc
No related branches found
No related tags found
No related merge requests found
import os import os
import socket
import wolfssl import wolfssl
def run_client(file_path): def run_client(file_path):
# CA-Zertifikat laden # CA-Zertifikat laden
ca_cert = "../certificates/ca-cert.pem" ca_cert = "../certificates/ca-cert.pem"
context = WolfSSLContext(SSL_METHOD_TLSv1_2) # SSL-Kontext erstellen
context = wolfssl.SSLContext(wolfssl.PROTOCOL_TLSv1_2)
context.load_verify_locations(ca_cert) context.load_verify_locations(ca_cert)
context.set_cipher_list("RC4-SHA") # Sichere Verbindung mit dem Server herstellen
with socket.create_connection(("192.168.178.51", 5000)) as sock:
# Verbindung mit dem Server herstellen with context.wrap_socket(sock, server_hostname="server") as ssl_sock:
client = WolfSSLClient(context, "192.168.178.51", 5000) print("Mit dem Server verbunden!")
print("Mit dem Server verbunden!")
# Datei senden
# Datei senden with open(file_path, "rb") as f:
with open(file_path, "rb") as f: while chunk := f.read(1024):
while chunk := f.read(1024): ssl_sock.sendall(chunk)
client.send(chunk) print(f"Datei '{file_path}' erfolgreich an den Server gesendet.")
print(f"Datei '{file_path}' erfolgreich an den Server gesendet.")
if __name__ == "__main__": if __name__ == "__main__":
# Dateipfad der zu übertragenden Datei # Dateipfad der zu übertragenden Datei
file_to_send = "../testData/test.txt" file_to_send = "../testData/test.txt"
# Stelle sicher, dass die Datei existiert # Stelle sicher, dass die Datei existiert
if not os.path.exists(file_to_send): if not os.path.exists(file_to_send):
print(f"Die Datei '{file_to_send}' wurde nicht gefunden!") print(f"Die Datei '{file_to_send}' wurde nicht gefunden!")
......
import os import socket
import wolfssl import wolfssl
def run_server(): def run_server():
# Server-Zertifikat und Schlüssel # Server-Zertifikat und Schlüssel
cert_file = "../certificates/server-cert.pem" cert_file = "../certificates/server-cert.pem"
key_file = "../certificates/server-key.pem" key_file = "../certificates/server-key.pem"
context = WolfSSLContext(SSL_METHOD_TLSv1_2) # SSL-Kontext erstellen
context.use_certificate_file(cert_file) context = wolfssl.SSLContext(wolfssl.PROTOCOL_TLSv1_2)
context.use_privatekey_file(key_file) context.load_cert_chain(certfile=cert_file, keyfile=key_file)
context.set_cipher_list("RC4-SHA") # Server-Socket erstellen
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
# Server starten sock.bind(("192.168.178.51", 5000))
server = WolfSSLServer(context, "192.168.178.51", 5000) sock.listen(5)
print("Server läuft auf Port 5000...") print("Server läuft auf Port 5000...")
with server.accept() as conn: # Verbindung akzeptieren und SSL/TLS-Schicht hinzufügen
print("Verbindung akzeptiert!") with context.wrap_socket(sock, server_side=True) as ssock:
conn, addr = ssock.accept()
# Datei empfangen print(f"Verbindung akzeptiert von {addr}!")
with open("received_file.txt", "wb") as f:
while True: # Datei empfangen
data = conn.recv(1024) with conn:
if not data: with open("received_file.txt", "wb") as f:
break while True:
f.write(data) data = conn.recv(1024)
print("Datei erfolgreich empfangen und gespeichert als 'received_file.txt'") if not data:
break
f.write(data)
print("Datei erfolgreich empfangen und gespeichert als 'received_file.txt'")
if __name__ == "__main__": if __name__ == "__main__":
run_server() run_server()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment