perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 18
Click for quality!




12.02.2012 / 03:19

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSSL-Server und Client
Seitenanfang
Hallo,

ich möchte einen SSL-Server und einen zugehörigen SSL-Client bauen, die über IO::Socket::SSL kommunizieren.
Der Server soll sich dem Client gegenüber mit einem Zertifikat ausweisen und eine Verschlüsselte Verbindung zur Verfügung stellen.

Mein Problem ist jetzt, dass ich nicht weiß, welcher Teil (Server oder Client) welche Bestandteile des SSL-Krams brauchen.

Ich habe eine Root-CA erstellt, von der ich ein Zertifikat exportieren kann.
Daraf aufbauend habe ich eine Server-CA erstellt, von der ebenfalls ein Zertifikat und eine CA chain exportieren kann.
Des weiteren habe ich auf der Server-CA ein Server Zertifikat erstellt (welches ich natürlich exportieren kann) und ich habe einen Schlüssel dazu (ebenfalls exportierbar).

So, wer braucht jetzt was. Mein Gedanke wäre ja gewesen, der Server braucht das RootCA-Zertifikat, das Serverzertifikat und den Server Schlüssel und der Client nur das RootCA-Zertifikat. Dann bekomme ich allerdings im Client die Fehlermeldung:

SSL connect attempt failederror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

Außerdem stürzt der Server ab mit der Fehlermeldung

SSL accept attempt failederror:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
at ./server.pl line 58
SSL accept attempt failederror:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown caerror:00000000:lib(0):func(0):reason(0)

Der Server ist Multithreaded. Kann das ein Problem sein? Kann mir jemand helfen?

Server:

my $listen = new IO::Socket::SSL (
LocalPort => $port,
Proto => 'tcp',
Listen => 10,
ReuseAddr => 1,
SSL_key_file => 'certs/server_cert-key.pem',
SSL_cert_file => 'certs/server_cert-cert.pem',
SSL_use_cert => 1,
SSL_ca_file => 'certs/test_da-cacert.pem',
SSL_cipher_list => '3DES') or die "Konnte kein SSL-TCP-Server an port $port öffnen: $!\n";

Client:
[code][$sock= new IO::Socket::SSL (
PeerAddr => $server,
PeerPort => $port,
Proto => 'tcp',
Timeout => '5',
SSL_verify_mode => 0x02,
SSL_ca_file => 'certs/test_da-cacert.pem');
/code]

Datum: 27.07.2006-16:14

-






-
-