Hi, 

I’m trying to create a VPN using OpenVPN over OpenSSL encrypted with AES and 
using an elliptical curve DSA.

However I keep getting a “no shared cipher” error. 

The full error log is :-
MULTI: multi_create_instance called
Re-using SSL/TLS context
Control Channel MTU parms [ L:1557 D:138 EF:38 EB:0 ET:0 EL:0 
]                                                                               
            
Data Channel MTU parms [ L:1557 D:1450 EF:57 EB:4 ET:0 EL:0 
]                                                                                            
 
Local Options String: 'V4,dev-type tun,link-mtu 1557,tun-mtu 1500,proto 
UDPv4,cipher AES-128-CBC,auth SHA1,keysize 128,key-method 
2,tls-server'           
Expected Remote Options String: 'V4,dev-type tun,link-mtu 1557,tun-mtu 
1500,proto UDPv4,cipher AES-128-CBC,auth SHA1,keysize 128,key-method 
2,tls-client' 
Local Options hash (VER=V4): 
'b7f67de4'                                                                                                                  
 
Expected Remote Options hash (VER=V4): 
'8326dbaa'                                                                                      
                   
TLS: Initial packet from xxx.xxx.xxx.xxx:3077, sid=1725da0c f1237109
TLS_ERROR: BIO read tls_read_plaintext error: error:1408A0C1:SSL 
routines:SSL3_GET_CLIENT_HELLO:no shared 
cipher                                          
TLS Error: TLS object -> incoming plaintext read 
error                                                                                                   
 
TLS Error: TLS handshake 
failed                                                                                  
                                         
SIGUSR1[soft,tls-error] received, client-instance restarting

In order to use ECDSA I’m using the following commands to create the keys :-

For CA :-
openssl ecparam -name secp160k1 -out %HOME%\ecparameters

openssl req -days 3650 -newkey ec:%HOME%\ecparameters -sha1 -nodes -x509 
-keyout %KEY_DIR%\ca.key -out %KEY_DIR%\ca.crt -config %HOME%\openssl.cnf 
-verbose –text

For SERVER :- 
openssl ecparam -name secp160k1 -out %HOME%\ecparameters

openssl req -days 3650 -nodes -newkey ec:%HOME%\ecparameters -sha1 -keyout 
%KEY_DIR%\%1.key -out %KEY_DIR%\%1.csr -config %HOME%\openssl.cnf -verbose

openssl x509 -req -in %KEY_DIR%\server.csr -CA %KEY_DIR%\ca.crt -CAkey 
%KEY_DIR%\ca.key -extensions server -CAcreateserial -out %KEY_DIR%\server.crt 
-text -extfile %HOME%\openssl.cnf

For CLIENT :-
openssl ecparam -name secp160k1 -out %HOME%\ecparameters

openssl req -days 3650 -nodes -newkey ec:%HOME%\ecparameters -sha1 -keyout 
%KEY_DIR%\%1.key -out %KEY_DIR%\%1.csr -config %HOME%\openssl.cnf -verbose

openssl x509 -req -in %KEY_DIR%\%1.csr -out %KEY_DIR%\%1.crt -CA 
%KEY_DIR%\ca.crt -CAkey %KEY_DIR%\ca.key -extensions v3_req -extfile 
%HOME%\openssl.cnf –text

In my client & server openssl.cnf files I’ve specified
cipher AES-128-CBC

If I generate the certificates using the standard installed batch files (ie not 
using ECDSA) I can connect no problem, so I’m guessing there must be something 
wrong with the commands to generate the certificates. 
I’ve tried several other ECPARAM curves but still get the error. 

Can anyone tell me what I’m doing wrong, or point me to some commands to get 
ECDSA working please.

I’m using openssl version 1.0.0.d & OpenVPN version 2.2.0 on Windows XP

Thanks

Reply via email to