Portál AbcLinuxu, 13. května 2025 23:54

Dotaz: Certifikáty pro OpenVpn

28.2.2007 09:15 Tomáš
Certifikáty pro OpenVpn
Přečteno: 5504×
Odpovědět | Admin
Dobrý den,

Chtěl bych Vás poprosit o radu s vygenerováním certifikátů pro OpenVpn. Postupoval jsem podle návodu na root.cz.

Nejprve jsem si vytvořil certifikáty pro certifikační autoritu:
openssl req -new -x509 -nodes -out
 cacert.pem -keyout cakey.pem -days 1098
a vygeneroval si žádost a podepsal certifikační autoritou:
openssl req -new -nodes -out
 request.pem -keyout key.pem -days 1098

openssl ca -in request.pem -out cert.pem
takto jsem si vygenroval certifikát pro server i pro klienty, ale když se chci klientem připojit tak mi to píše:
Wed Feb 28 09:10:37 2007 Expected Remote Options hash (VER=V4): '0ddbb6e3'
Wed Feb 28 09:10:37 2007 UDPv4 link local (bound): [undef]:1194
Wed Feb 28 09:10:37 2007 UDPv4 link remote: 1.2.3.4:1194
Wed Feb 28 09:10:37 2007 TLS: Initial packet from 1.2.3.4:1194, sid=7ad56819 95772ba3
Wed Feb 28 09:10:37 2007 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: /C=CZ/ST=Czech/O=Internet_Widgits_Pty_Ltd/CN=Certifikacni_autorita/emailAddress=novotny@falcocomputer.cz
Wed Feb 28 09:10:37 2007 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Wed Feb 28 09:10:37 2007 TLS Error: TLS object -> incoming plaintext read error
Wed Feb 28 09:10:37 2007 TLS Error: TLS handshake failed
Wed Feb 28 09:10:37 2007 TCP/UDP: Closing socket
Wed Feb 28 09:10:37 2007 SIGUSR1[soft,tls-error] received, process restarting
Wed Feb 28 09:10:37 2007 Restart pause, 2 second(s)
Chyba musí být asi někde v těch certifikátech, protože když si tam nahraju ty testovací certifikáty co jsou u distribuce tak mi to bez problémů chodí.

Díky moc za radu

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

marek_s avatar 28.2.2007 14:10 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mate nastaven parametr ca na cacert.pem na obou stranach spojeni? Neodkazuje stale na "distribucni" certifikat?
"Consummatum est" -- Iesus Nazarenus
28.2.2007 14:51 Tomáš
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Ten certifikát je určitě správně. Ještě jsem to jednou překontroloval a je to OK.
marek_s avatar 28.2.2007 15:11 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Hmm, mozna by se hodilo vedet jak vypadaji Vase konfiguraky k openvpn...

Jeste me napada, predpokladam, ze jste si dal pozor, aby se certifikat podepsal spravnou certifikacni autoritou (podle navodu na root.cz). Ze onen cacert.pem a spol. jsou tam kde je vyzaduji konfiguraky k openssl...

"Consummatum est" -- Iesus Nazarenus
marek_s avatar 28.2.2007 15:15 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
A jeste jedna vec: Mel jsem pri nastavovani take problem se synchronizaci casu na obou strojich. Puvodne mi nesedel cas a tak na jednom ze stroju certifikat proste jeste nezacal platit. Nevim jak se chyba projevovala, ale za provereni to stoji...
"Consummatum est" -- Iesus Nazarenus
28.2.2007 17:13 Tomáš
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Tady je konfigurace serveru i klienta. Ale předpokládám,že by to v tom být nemělo když s certifikáty z distribuce to jede. Ty soubory jsem přesunul podle návodu a i v podepsaných certifikátech to je správně. Nemůže být problém v tom, že je ten soubor cacert.pem podepsán sám sebou?
mode server
tls-server
dev tap
ifconfig 10.0.1.100 255.255.255.0
ifconfig-pool 10.0.1.1 10.0.1.90 255.255.255.0
duplicate-cn

ca /etc/openvpn/cacert.pem
cert /etc/openvpn/vpn.crt
key /etc/openvpn/vpn.key
dh /etc/openvpn/dh1024.pem

log-append /var/log/openvpn
status /var/run/openvpn/vpn.status 10
Klient:
remote stroj.domena.cz
tls-client
dev tap
pull

mute 10
ca cacert.pem
cert klient.cert
key klient.key

#comp-lzo
verb 3
marek_s avatar 28.2.2007 17:43 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
No, v certifikatech to asi bude, tomu verim, ale opravdu nevim o co se mam oprit. Mne se to povedlo rozjet i se self-signed certifikatem. Jak to mate vlastne jeste s tema certifikatama? Pouzivate pro obe strany stejny nebo mate dva? Jestli ovsem mate dva, tak musi byt podepsane stejnou autoritou... Mne osobne to na tech dvou certifikatech bezi, tak jestli mate jenom jeden, zkuste udelat dva...
"Consummatum est" -- Iesus Nazarenus
28.2.2007 18:50 Tomáš Péťa
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Pro obě strany tj. pro server i pro klienta (roadwarrior) jsem zvlášt vygeneroval certifikát. Pro jistotu jsem to ted zkusil všechno udělat ještě jednou, ale bez úspěchu. Naopak to ted hlásí ještě neco jinného. Už popravdě moc nevím co bych vyzkoušel. Alespoň posílám výpis logu:
Wed Feb 28 18:44:37 2007 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct  1 2006
Wed Feb 28 18:44:37 2007 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.
Wed Feb 28 18:44:37 2007 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Feb 28 18:44:37 2007 Control Channel MTU parms [ L:1573 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Feb 28 18:44:37 2007 Data Channel MTU parms [ L:1573 D:1450 EF:41 EB:4 ET:32 EL:0 ]
Wed Feb 28 18:44:37 2007 Local Options hash (VER=V4): '2c50bd2c'
Wed Feb 28 18:44:37 2007 Expected Remote Options hash (VER=V4): '0ddbb6e3'
Wed Feb 28 18:44:37 2007 UDPv4 link local (bound): [undef]:1194
Wed Feb 28 18:44:37 2007 UDPv4 link remote: 192.168.0.252:1194
Wed Feb 28 18:44:37 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_ACK_V1)
Wed Feb 28 18:44:38 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_ACK_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:40 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:42 2007 NOTE: --mute triggered...
Wed Feb 28 18:44:51 2007 43 variation(s) on previous 10 message(s) suppressed by --mute
Wed Feb 28 18:44:51 2007 TLS: Initial packet from 192.168.0.252:1194, sid=fd1ddf6d b1033725
Wed Feb 28 18:44:51 2007 VERIFY ERROR: depth=0, error=unsupported certificate purpose: /C=CZ/ST=Czech_Republic/O=Internet_Widgits_Pty_Ltd/CN=samanta
Wed Feb 28 18:44:51 2007 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Wed Feb 28 18:44:51 2007 TLS Error: TLS object -> incoming plaintext read error
Wed Feb 28 18:44:51 2007 TLS Error: TLS handshake failed
Wed Feb 28 18:44:51 2007 TCP/UDP: Closing socket
Wed Feb 28 18:44:51 2007 SIGUSR1[soft,tls-error] received, process restarting
Wed Feb 28 18:44:51 2007 Restart pause, 2 second(s)
Wed Feb 28 18:44:53 2007 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.
Wed Feb 28 18:44:53 2007 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Feb 28 18:44:53 2007 Control Channel MTU parms [ L:1573 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Feb 28 18:44:53 2007 Data Channel MTU parms [ L:1573 D:1450 EF:41 EB:4 ET:32 EL:0 ]
Wed Feb 28 18:44:53 2007 Local Options hash (VER=V4): '2c50bd2c'
Wed Feb 28 18:44:53 2007 Expected Remote Options hash (VER=V4): '0ddbb6e3'
Wed Feb 28 18:44:53 2007 UDPv4 link local (bound): [undef]:1194
Wed Feb 28 18:44:53 2007 UDPv4 link remote: 192.168.0.252:1194
Wed Feb 28 18:44:53 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:53 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:53 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:53 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:53 2007 TLS: Initial packet from 192.168.0.252:1194, sid=4ff02bf9 fa747c1d
Wed Feb 28 18:44:54 2007 VERIFY ERROR: depth=0, error=unsupported certificate purpose: /C=CZ/ST=Czech_Republic/O=Internet_Widgits_Pty_Ltd/CN=samanta
Wed Feb 28 18:44:54 2007 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Wed Feb 28 18:44:54 2007 TLS Error: TLS object -> incoming plaintext read error
Wed Feb 28 18:44:54 2007 TLS Error: TLS handshake failed
Wed Feb 28 18:44:54 2007 TCP/UDP: Closing socket
Wed Feb 28 18:44:54 2007 SIGUSR1[soft,tls-error] received, process restarting
Wed Feb 28 18:44:54 2007 Restart pause, 2 second(s)
Wed Feb 28 18:44:56 2007 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.
Wed Feb 28 18:44:56 2007 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Feb 28 18:44:56 2007 Control Channel MTU parms [ L:1573 D:138 EF:38 EB:0 ET:0 EL:0 ]
Wed Feb 28 18:44:56 2007 Data Channel MTU parms [ L:1573 D:1450 EF:41 EB:4 ET:32 EL:0 ]
Wed Feb 28 18:44:56 2007 Local Options hash (VER=V4): '2c50bd2c'
Wed Feb 28 18:44:56 2007 Expected Remote Options hash (VER=V4): '0ddbb6e3'
Wed Feb 28 18:44:56 2007 UDPv4 link local (bound): [undef]:1194
Wed Feb 28 18:44:56 2007 UDPv4 link remote: 192.168.0.252:1194
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:56 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:58 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:58 2007 TLS Error: Unroutable control packet received from 192.168.0.252:1194 (si=3 op=P_CONTROL_V1)
Wed Feb 28 18:44:58 2007 NOTE: --mute triggered...
díky za rady
marek_s avatar 28.2.2007 18:56 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Ja uz take moc netusim coby ... tak jenom pro jistotu ... podepsal jste certifikat serveru i klienta STEJNOU certifikacni autoritou?
"Consummatum est" -- Iesus Nazarenus
28.2.2007 19:02 Tomáš Péťa
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Myslím, že ano. nakonfigurovanou mám jen jednu takže v tom by to asi být nemělo.
marek_s avatar 28.2.2007 19:11 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Ja zkusim do kroku shrnout jak jsem to presne zprovoznoval:
  1. Nakonfiguroval jsem si certifikacni autoritu. (na serveru, ale myslim, ze je to jedno)
  2. Vytvoril jsem a pomoci ca podepsal dva certifikaty. Jeden pro server, druhy pro klienta.
  3. Pak jsem nakopiroval certifikat klienta (cert.pem), soubor s tajnym klicem (key.pem) a certifikat ca (cacert.pem) na pocitac klienta
  4. Konfiguraky openvpn klienta jsem nechal odkazovat na tyto tri hodnoty.
  5. Konfiguraky openvpn serveru jsem nechal odkazovat na prislusne soubory cert.pem a key.pem serveru a stejny soubor cacert.pem...
Odpovida to i Vasemu reseni?
"Consummatum est" -- Iesus Nazarenus
marek_s avatar 28.2.2007 19:40 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
A jeste jedna vec, jak mate ty certifikaty vyplnene? Vim napriklad, ze jsem mel problem s tim, ze kdyz jsem si dal datum platnosti na 32768 dni, tak (asi vlive preteceni neceho) certifikat prestal platit mnohem drive nez zacal, takze byl k nicemu. Hodnota 8192 dni uz byla ok.

Potom by jeste mohla mit asi neco do cineni polozka common name. Napr. nevim, jak by se openvpn zachoval, kdyby ji mely oba certifikaty stejnou (ac myslim, ze by to rekl jinak) - ale ne vzdy chyby signalizuji to co se opravdu stalo:-)

"Consummatum est" -- Iesus Nazarenus
28.2.2007 18:58 secido | skóre: 27
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja mám v adresári /usr/share/doc/openvpn/examples/easy-rsa/ (distro debian) pár skriptíkov + návod, s ktorými funguje všetko podľa očakávaní.
28.2.2007 19:03 Tomáš Péťa
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Ty jsem zkoušel, ale když jsem si chtěl vygenerovat certifikát k serveru tak mi to hlásilo nějakou hlášku o extension server error.
28.2.2007 19:04 Tomáš Péťa
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Teda přiznávám, že v těch easy-rsa scriptech jsem se moc nevrtal.
Řešení 1× (arn)
28.2.2007 20:56 Tomáš
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Dobrý den,

Takže se mi to nakonec povedlo přes ty easy-rsa scripty. Sice nechápu, proč mě to nechodilo, přes klasicky vygenrované certifikáty, ale už je to jedno.

Díky za pomoc
5.7.2007 17:35 Karel Horský
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Kdyby to snad někomu pomohlo, narazil jsem na stejný problém. Nakonec jsem přišel na to, že server si nenačítal správné certifikáty (nebyla správně nastavena cesta k nim). Tím se to vyřešilo v mém případě.
Věroš avatar 28.1.2008 10:56 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
Rozbalit Rozbalit vše Re: Certifikáty pro OpenVpn
Odpovědět | | Sbalit | Link | Blokovat | Admin
Značí to, že klientský certifikát neobsahuje purpose "client" - tedy je špatně vygenerován
Školím Ansible

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.