Newsgroup: it.comp.os.linux.sys
Titolo: [LUNGHETTO] Chi si intende di openssl mi auti

Stavo provando a far funzionare OpenVPN utilizzando i certificati ssl.
Allora, ecco quello che ho fatto:
-Genero il certificato e la chiave de CA
--Prima creo la chiave rsa per la firma
openssl genrsa -out ca.key
--Genero il certificato
openssl req -new -key ca.key -out 
rich.ca
--e poi lo firmo
openssl x509 -req -in 
rich.ca
 -signkey ca.key -out ca.crt
-Ora genero il certificato server utilizzando il CA
openssl genrsa -out server.key
openssl req -new -key server.key -out rich.ser
openssl x509 -req -in rich.ser -CA ca.crt -CAkey ca.key -CAcreateserial -out 
server.crt
-Per il server utilizzo anche i parametri di Diffie Hellman
openssl dhparam -out dh1024.pem 1024
-Stessa cosa per il certificato del client
openssl genrsa -out client1.key
openssl req -new -key client1.key -out rich.cli
openssl x509 -req -in rich.cli -CA ca.crt -CAkey ca.key -CAcreateserial -out 
client1.crt
Poi ho copiato il ca.crt, il client1.key e anche client1.crt sulla macchina 
client.
Ovviamente nei files di configurazione del server e del client ci sono tutte 
le direttive che puntano ai percorsi corretti di tali files.
-- server.conf --
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
-- client.conf --
client
dev tun
proto udp
remote 192.168.0.35 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
Avvio il server e poi cerco di collegarmi col client.
Ecco sul client cosa ottengo:
Thu Mar 02 11:57:29 2006 IMPORTANT: OpenVPN's default port number is now 
1194, based on an official port number assignment by IANA.  OpenVPN 
2.0-beta16 and earlier used 5000 as the default port.
Thu Mar 02 11:57:29 2006 WARNING: No server certificate verification method 
has been enabled.  See 
http://openvpn.net/howto.html#mitm
 for more info.
Thu Mar 02 11:57:29 2006 Re-using SSL/TLS context
Thu Mar 02 11:57:29 2006 LZO compression initialized
Thu Mar 02 11:57:29 2006 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 
ET:0 EL:0 ]
Thu Mar 02 11:57:29 2006 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 
ET:0 EL:0 AF:3/1 ]
Thu Mar 02 11:57:29 2006 Local Options hash (VER=V4): '41690919'
Thu Mar 02 11:57:29 2006 Expected Remote Options hash (VER=V4): '530fdded'
Thu Mar 02 11:57:29 2006 UDPv4 link local: [undef]
Thu Mar 02 11:57:29 2006 UDPv4 link remote: 
192.168.0.35:1194
Thu Mar 02 11:57:29 2006 TLS: Initial packet from 
192.168.0.35:1194
, 
sid=9260dcc8 1a9abe4c
Thu Mar 02 11:57:29 2006 VERIFY ERROR: depth=0, error=self signed 
certificate: /C=AU/ST=Some-State/O=Internet_Widgits_Pty_Ltd
Thu Mar 02 11:57:29 2006 TLS_ERROR: BIO read tls_read_plaintext error: 
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify 
failed
Thu Mar 02 11:57:29 2006 TLS Error: TLS object -> incoming plaintext read 
error
Thu Mar 02 11:57:29 2006 TLS Error: TLS handshake failed
Thu Mar 02 11:57:29 2006 TCP/UDP: Closing socket
Thu Mar 02 11:57:29 2006 SIGUSR1[soft,tls-error] received, process 
restarting
Thu Mar 02 11:57:29 2006 Restart pause, 2 second(s) 

 Allora, ecco quello che ho fatto:
[SNIP]
Non è una vera e propria risposta, ma perchè non usi gli script easy-rsa 
preconfezionati di openvpn che stanno (sulla mi debian) in 
/usr/share/doc/openvpn/examples/easy-rsa/ ?
A me ha funzionato (quasi) al primo colpo.
Questa la mia config se puo farti comodo:
server 10.8.0.0 255.255.255.0
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
dev tun
port 1723
proto tcp-server
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd/
client-to-client
route 192.168.1.0 255.255.255.0
client
ns-cert-type server
ca c:\\programmi\\openvpn\\keys\\ca.crt
cert c:\\programmi\\openvpn\\keys\\client4.crt
key c:\\programmi\\openvpn\\keys\\client4.key
remote xxxxxxxxxxxxxx
dev tun
comp-lzo
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
route 192.168.5.0 255.255.255.0
port 1723
proto tcp-client

> Allora, ecco quello che ho fatto:
L'asino sono io, che in fase di generazione del certificato del client 
mettevo lo stesso CN (Common name) sia per l'ente di chi rilascia sia per 
quello a cui veniva rilasciato e s'incazzava!