OpenVPN TLS Handshake - ECDHE on Win

setado

Cadet 3rd Year
Registriert
Juni 2017
Beiträge
46
Hallo,

Ich möchte eine VPN Verbindung einrichten (das war ja schon was, die Verbindung am Server einzurichten), jedenfalls bekomme ich jetzt die Meldung: "TLS handshake failed", am Server genauer mit "The server has no TLS ciphersuites in common with the client. Your --tls-cipher setting might be too restrictive.". Ich hab da 2 Ideen warum das vl. nicht hinhaut und hoffe da auf Hilfe:

Angegeben habe ich soweit folgendes - das ist aber ok. Bei haben OpenVPN 2.4.3 und die cipher sind vorhanden. (geprüft per openvpn --show-tls / show-ciphers)
cipher AES-256-GCM
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384

Die Config ist eine Mischung aus:
https://www.lisenet.com/2014/openvpn-server-and-client-setup-on-windows/
und https://forums.openvpn.net/viewtopic.php?t=23227
dabei habe ich in meinem var file "set KEY_ALGO=ec" und "set KEY_CURVE=secp521r1" angegeben aber die beiden wurden scheinbar ignoriert. Stattdessen wollte er unbeding Key_size - weil das so in der openssl-1.0.0.cnf steht. Was mache ich nun aber, wenn ich kein RSA will?

EDIT: Ich sollte wohl eher ECDSA sagen. Ändere ich die tls-cipher auf ein paar mit RSA, geht z.B die Verbindung über:
TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA

Komplette TLS-Fehlermeldung schrieb:
TLS error: The server has no TLS ciphersuites in common with the client. Your --tls-cipher setting might be too restrictive.
OpenSSL: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher
TLS_ERROR: BIO read tls_read_plaintext error
TLS Error: TLS object -> incoming plaintext read error
TLS Error: TLS handshake failed
SIGUSR1[soft,tls-error] received, client-instance restarting
TLS: Initial packet from [AF_INET]*, sid=*

Ein neuer Blick in die cfg meinte, dass es auch an remote-cert-tls server liegen könnte. Ich hatte zuvor:
keyUsage = digitalSignature
extendedKeyUsage=clientAuth
http://pubs.vmware.com/vidm/index.j...UID-21A20382-D92F-4555-8902-07A04580F972.html
Ich brauche aber wohl eher:
keyUsage = digitalSignature,keyEncipherment
extendedKeyUsage=serverAuth,clientAuth (wobei ich bei clientAuth unsicher bin)
 
Zuletzt bearbeitet:
Du hast wahrscheinlich deine PKI mit RSA Certs erstellt, einfach nochmal neu machen und bei der Erstellung angeben, dass du die openssl-1.0.0.cnf nutzen möchtest:
easyrsa build-ca --vars pfad/zur/vars-datei
 
Die openssl-1.0.0.cnf steht dort drinnen. Das Problem ist, dass diese die Werte für Elipic Curve einfach nicht enthalten hat, dafür zwingend RSA nutzen will. Ich kann mit der cnf nichts anderes erstellen. Und im Netz habe ich auch keine Lösung dazu gefunden. Jetzt brauch ich wohl ne Anleitung, wie ich die cnf so umbaue, dass EC verwendet wird.
 
Zurück
Oben