Thread Abfangen der PW - Eingabe bei Start des SSL - Servers (6 answers)
Opened by YAPD at 2016-04-12 19:39

YAPD
 2016-04-12 22:58
#184435 #184435
User since
2015-09-20
146 Artikel
BenutzerIn

user image
Hallo Linuxer,

vielen Dank für deine Antwort :

Mein Script sieht zur Zeit folgendermaßen aus :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/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;


Ich benutze IO::Socket::SSL -> new und die Werte wie Hostname, Port
& Zertifikate werden über einen Config Parser eingelesen. Während
dem Aufbau der Verbindung prüft IO::Socket::SSL das PW für die
Zertifkate.

Das Passwort wird immer in der Konsole abgefragt, wenn ich das Script
( ohne Kompilierung ) ausführe.

Grundsätzlich ist in dem Script das Tk Modul schon enthalten,
ich benutze es z. B. für das Fehler - Handling.

EDIT :

SSL_passwd_cb ist wohl die Lösung. Ich probiere es aus & gebe dir
eine Rückmeldung. :-)

Quote
Keys should be PEM formatted, and if they are encrypted, you will be prompted to enter a password before the socket is formed (unless you specified the SSL_passwd_cb option).


Viele Grüße
YAPD
Last edited: 2016-04-12 23:07:31 +0200 (CEST)
Yet Another Perl Developer

View full thread Abfangen der PW - Eingabe bei Start des SSL - Servers