Страница 1 из 3

Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 15 мар 2015, 20:04
abrakadabr123
Никак не могу подключить SPA3102 к астериску по tls. Железяка отказывается регистрироваться на сервере. По udp все прекрасно работает. Помогить понять в чем дело.

Консоль астериска

Код: Выделить всё

== Problem setting up ssl connection: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
[2015-03-15 15:35:44] WARNING[2751]: tcptls.c:673 handle_tcptls_connection: FILE * open failed!
  == Problem setting up ssl connection: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
[2015-03-15 15:36:16] WARNING[2752]: tcptls.c:673 handle_tcptls_connection: FILE * open failed!
sip.conf

Код: Выделить всё

[general]
tlsenable=yes
tlscertfile=/etc/asterisk/keys/asterisk.crt
[65893]
transport=tls

Код: Выделить всё

*CLI>sip show settings
UDP Bindaddress:        0.0.0.0:5060
TCP SIP Bindaddress:    0.0.0.0:5060
TLS SIP Bindaddress:     0.0.0.0:5061

Код: Выделить всё

*CLI> module show like res_srtp.so
Module                         Description                              Use Count 
res_srtp.so                    Secure RTP (SRTP)                        0         
1 modules loaded
Сертификат для для астериска создавал следующим образом

Код: Выделить всё

openssl req -new -newkey rsa:1024 -nodes -keyout ca.key -x509 -days 500 -subj /CN=site.ru/ -out ca.crt
далее

Код: Выделить всё

cp ca.crt asterisk.crt
cat ca.key >> asterisk.crt
Мини сертификат и ключ для spa3102 создал с помощью программы gen-mc

Код: Выделить всё

./gen-mc -k asterisk.crt -d 'site.ru' -u '65893' -E 365 -m

Код: Выделить всё

netstat -punta | grep asterisk
2426/asterisk   
tcp        0      0 0.0.0.0:5061           0.0.0.0:*               LISTEN  


При выполнении

Код: Выделить всё

openssl s_client -host localhost -port 5061 -showcerts
Вижу сертификат, который находится в папке /etc/asterisk/keys

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 01:12
ded
1) А где лежит приватынй ключ на этот сертификат?

2) у нас в директории /etc/asterisk/keys/ лежит не объединённый с СА файл (т.н. trust chain - цепочка доверия), а раздельно - ca.crt + asterisk.crt, а также ca.cfg.

3) Выложите сюда то, что получилось после операций
cp ca.crt asterisk.crt
cat ca.key >> asterisk.crt

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 09:36
abrakadabr123
1) /etc/asterisk/keys
2) В директории /etc/asterisk/keys/ лежат файлы asterisk.crt ca.crt ca.key
3) Получился файл asterisk.crt следующего содержания
-----BEGIN CERTIFICATE-----
...........................
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...........................
-----END PRIVATE KEY-----

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 10:23
ded
ca.crt и asterisk.crt - это должны быть РАЗНЫЕ файлы, и к каждому свой приватный ключ - ca.key и asterisk.key
И теперь оцените то что Вы сделали:
cat ca.key >> asterisk.crt
т.е. ключ центра сертификации запихнули в подписаный им публичный сертификат для Астериска.

Найдите инструкцию по внедрению TLS в Астериск и шаг за шагом выполните. Пустая тема тут создана.

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 11:51
abrakadabr123
Делаю шаг за шагом по инструкции http://www.sipring.ru/overview/asterisk ... p-tls.html

1)

Код: Выделить всё

openssl req -new -newkey rsa:1024 -nodes -keyout ca.key -x509 -days 500 -subj /CN=site.ru/ -out ca.crt
2) В результате выполнения команды появятся два файла ca.key и ca.crt. Подготовим файл сертификата для Asterisk.

Код: Выделить всё

cp ca.crt asterisk.crt
    cat ca.key >> asterisk.crt
В результате получим файл само-подписанного сертификата -> asterisk.crt, используемый в конфигурации Asterisk.

Не уловил мысль из вашего поста выше
ca.crt и asterisk.crt - это должны быть РАЗНЫЕ файлы, и к каждому свой приватный ключ - ca.key и asterisk.key.

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 12:06
ded
Перечитал инструкцию по ссылке. У нас другая, у нас свой PKI, и поэтому всё чуть иначе, самоподписанные не катят.
У вас есть там файл /etc/asterisk/keys/ca.cfg?

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 12:24
abrakadabr123
Нет, файла /etc/asterisk/keys/ca.cfg нет. Далее инструкцию не выполнял. После создания самоподписанного сертификата asterisk.crt с помощью gen-mc создал сертификат и ключ для spa3102

Код: Выделить всё

./gen-mc -k asterisk.crt -d 'site.ru' -u '65893' -E 365 -m

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 12:30
Zavr2008
Не проще ли использовать OpenVPN и не парить? )

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 12:47
ded

Код: Выделить всё

    openssl s_client -host localhost -port 5061 -showcerts
Вижу сертификат, который находится в папке /etc/asterisk/keys
Что показывает

openssl s_client -host localhost -port 5061 | grep subject ??

Тут показано как дебажить TLS соединения:
http://www.kamailio.org/wiki/tutorials/ ... -debugging
то, что там Kamailio - можно игнорировать.

Re: Подключение SPA3102 к Asterisk 11 по tls

Добавлено: 16 мар 2015, 12:53
abrakadabr123

Код: Выделить всё

# openssl s_client -host localhost -port 5061 | grep subject
depth=0 CN = site.ru
verify error:num=18:self signed certificate
verify return:1
depth=0 CN = site.ru
verify return:1
subject=/CN=site.ru