Asterisk TLS и SRTP с подписанным сертификатом

После обновления Bria на Iphone появилась ошибка 503 certificate validation failure, а все из-за того что Bria не хочет принимать самоподписной сертификат.

Так как раннее был получен сертификат от WoSign и этот сертификат сегодня будем добавлять в Asterisk.

Генерируем CSR в папку key файл на запрос сертификата и отправляем центр сертификации:

openssl req -nodes -newkey rsa:2048 -keyout mail_your_domain_com.key -out mail_your_domain_com.csr

Получилось два файла:

mail_your_domain_com.key 
mail_your_domain_com.csr


Отправляем содержимое файла mail_your_domain_com.csr в центр сертификации, после Вам пришлют zip файл с сертификатами:

for Apache.zip
for IIS.zip
for Nginx.zip
Other Server.zip

Распаковываем в папку key файл for Apache.zip и у нас получилось 4-е файла (два которые мы создали и два которые нам прислали).

1_root_bundle.crt
2_mail_your_domain_com.crt
mail_your_domain_com.key 
mail_your_domain_com.csr

В мануале Asterisk пишется что необходимо объединить ключ и сертификат (The server’s certificate file. Should include the key and certificate. This is mandatory if you’re going to run a TLS server.):

cat mail_your_domain_com.key > asterisk.pem
cat 2_mail_your_domain_com.crt >> asterisk.pem

Добавляем в sip_custom.conf:

tlsenable = yes # включаем TLS
tlsbindaddr = 0.0.0.0 # порт TLS 5061 слушает на всех интерфейсах сервера
tlscertfile = /etc/asterisk/key/asterisk.pem # путь к файлу с ключом и сертификатом
tlscafile = /etc/asterisk/key/1_root_bundle.crt # путь к файлу сертификат центра сертификации
tlsclientmethod = tlsv1 # протокол, по которому будут подключаться клиенты
tlscipher = all # алгоритм шифрования, можно использовать более стойкий
encryption=yes # включаем SRTP
  1. cat 2_mail_your_domain_com.crt > asterisk.pem
    cat mail_your_domain_com.key >> asterisk.pem
    cat 1_root_bundle.crt >> asterisk.pem

    tlsenable = yes
    tlsbindaddr = 0.0.0.0
    tlscertfile = /etc/asterisk/key/asterisk.pem
    tlscafile = /etc/asterisk/key/ca.crt
    tlsclientmethod = tlsv1

    ca.crt:

  2. Привет. У тебя эта хрень заработала ? У меня похожая проблема делаю так же как и ты и нифига не получается. Хотя цепочка из сертификатов получается нормально.
    [[email protected] /]# openssl s_client -connect vs2.trust-m.io:5061
    CONNECTED(00000003)
    depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
    verify return:1
    depth=1 C = US, O = GeoTrust Inc., CN = RapidSSL SHA256 CA
    verify return:1
    depth=0 CN = *.trust-m.io
    verify return:1

    Certificate chain
    0 s:/CN=*.trust-m.io
    i:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
    1 s:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA
    i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
    2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
    i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *