#!/usr/bin/perl # ----------------------------------------------------------------------------- use strict; use warnings; use Modules::Parser; # ----------------------------------------------------------------------------- my $Config_Eintraege = &Parser_Initialisierung( ); # ----------------------------------------------------------------------------- # SSL - Server use IO::Socket::SSL; &Parser_Pruefung( ); my $SSL_Server = IO::Socket::SSL -> new( # Initialisierung der Server - Adresse & des Ports LocalAddr => $Config_Eintraege -> { SSL_SERVER_ADRESSE } , LocalPort => $Config_Eintraege -> { SSL_SERVER_PORT } , Listen => 10 , # Zertifikate für die Authentifizierung SSL_cert_file => $Config_Eintraege -> { SSL_SERVER_PUBLIC_KEY_FOLDER } . $Config_Eintraege -> { SSL_SERVER_PUBLIC_KEY_IDENTIFIER } , SSL_key_file => $Config_Eintraege -> { SSL_SERVER_PRIVATE_KEY_FOLDER } . $Config_Eintraege -> { SSL_SERVER_PRIVATE_KEY_IDENTIFIER } , ) or die "failed to listen: $!"; # ----------------------------------------------------------------------------- # Akzeptiere Clients while( 1 ) { # Warte auf neue Verbindung my $Akzeptierung_Verbindung_Clients = $SSL_Server -> accept or die "Fehler bei der Akzeptierung des Handshakes : !"; my $client_address = $Akzeptierung_Verbindung_Clients -> peerhost(); my $client_port = $Akzeptierung_Verbindung_Clients -> peerport(); print "Eingehende Verbindung : $client_address:$client_port" , "\n"; my $data = ""; $Akzeptierung_Verbindung_Clients -> read( $data , 1024 ); my @Pruefung_Eintraege = split( / , / , $data ); print "Ausgabe : $Pruefung_Eintraege[ 0 ]" , "\n"; print "Ausgabe : $Pruefung_Eintraege[ 1 ]" , "\n"; print "Ausgabe : $Pruefung_Eintraege[ 2 ]" , "\n"; my $Server_Rueckmeldung = "OK"; $Akzeptierung_Verbindung_Clients -> print( $Server_Rueckmeldung ); shutdown( $Akzeptierung_Verbindung_Clients , 1 ); } $SSL_Server -> close( ); # ----------------------------------------------------------------------------- 1;