AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Научите правильно конфигурировать TLS на сервере и клиенте

Asterisk IP PBX 4 сообщений 15.12.2010 11:34 - 16.12.2010 11:06
#1 15.12.2010 11:34

Научите правильно конфигурировать TLS на сервере и клиенте


Народ вот никак не получается заставить работать TLS

имеется asterisk 1.8.1 сегодня обновил
настраевал TLS по этой инструкции http://www.sipring.ru/overview/asterisk- ... p-tls.html

при потыке подключиться по TLS
в логе

клиент PortGO (Windows)
Code:
== Problem setting up ssl connection: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
[Dec 15 12:31:51] WARNING[9561]: tcptls.c:218 handle_tcptls_connection: FILE * open failed!


Клиент Bria (Iphone)
Code:
== Problem setting up ssl connection: error:00000000:lib(0):func(0):reason(0)
[Dec 16 13:50:42] WARNING[14379]: tcptls.c:218 handle_tcptls_connection: FILE * open failed!



что я не учел ?


Last edited by elected on Thu Dec 16, 2010 12:58
#2 15.12.2010 12:52

в логе вроде написано что нету сертификата, нет?
#3 15.12.2010 14:41

Делал по этой инструкции пару раз - все работает. Какой клиент используете?
Обратите внимание на CN в сертификате, для некоторых клиентов (например eyebeam) должно совпадать с именем хоста, оно должно корректно резолвится в обе стороны. Если у вас самоподписанный сертификат, то его нужно импортировать как сертификат доверенного центра сертификации. Для 3CXPhone нужно выпускать сертификаты с теми данными, которые они дают в своем мануале, "правильные" он не хавает.

_________________
Better simpler than clever


Last edited by dmitry_master on Fri Dec 17, 2010 14:09
#4 16.12.2010 11:06

Сертификат был установлен
клиент PortGO как в мануале (кстати он так и не заработал)

а заработал Bria и только с другим сертификатом
Как делал сертификат:

Code:
root@server-sip1:/etc/cert# openssl genrsa -des3 -out ca.key 4096
Generating RSA private key, 4096 bit long modulus
.......................++
...............................++
e is 65537 (0x10001)
Enter pass phrase for ca.key:
Verifying - Enter pass phrase for ca.key:
root@server-sip1:/etc/cert#
root@server-sip1:/etc/cert#
root@server-sip1:/etc/cert# openssl req -new -x509 -days 365 -key ca.key -out ca.crt
Enter pass phrase for ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:IDF
Locality Name (eg, city) []:Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Remi Philippe - www.remiphilippe.fr
Organizational Unit Name (eg, section) []:VoIP
Common Name (eg, YOUR name) []:Remi Philippe - www.remiphilippe.fr CA
Email Address []:noone@remiphilippe.fr
root@server-sip1:/etc/cert#
root@server-sip1:/etc/cert#
root@server-sip1:/etc/cert# ls
ca.crt ca.key
root@server-sip1:/etc/cert#


получили файл ca.crt его и устанавливаем на клиента

Code:
root@server-sip1:/etc/cert# openssl genrsa -out key.pem 1024
Generating RSA private key, 1024 bit long modulus
.....++++++
...++++++
e is 65537 (0x10001)
root@server-sip1:/etc/cert# openssl req -new -key key.pem -out req-sip_remiphilippe_fr.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:IDF
Locality Name (eg, city) []:Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Remi Philippe - www.remiphilippe.fr
Organizational Unit Name (eg, section) []:VoIP
Common Name (eg, YOUR name) []:sip.remiphilippe.fr
Email Address []:noone@remiphilippe.fr

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
root@server-sip1:/etc/cert#
root@server-sip1:/etc/cert#
root@server-sip1:/etc/cert#
root@server-sip1:/etc/cert# openssl x509 -req -days 365 -in req-sip_remiphilippe_fr.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out cert-sip_remiphilippe_fr.crt
Signature ok
subject=/C=FR/ST=IDF/L=Paris/O=Remi Philippe - www.remiphilippe.fr/OU=VoIP/CN=sip.remip ... hilippe.fr
Getting CA Private Key
Enter pass phrase for ca.key:
root@server-sip1:/etc/cert#


получили серверный сертификат

Code:
root@server-sip1:/etc/asterisk/cert# cat ../../cert/key.pem > asterisk.pem
root@server-sip1:/etc/asterisk/cert# cat ../../cert/cert-sip_remiphilippe_fr.crt >> asterisk.pem


получили сертификат для астериска

далее в конфиг пишем

Code:
[global]
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/cert/asterisk.pem


и пиру


Code:
[100]
transport=tls


и все заработало
понять бы в чем разница хотелось бы