Добрый день. Решили использовать wss (порт 8443), для работы ClickToCall (звонок с сайта). Получаем ошибку в логах:
WSServerHandler - New I/O worker #10 Close channel because: javax.net.ssl.SSLException 'Received fatal alert: bad_certificate'
Данные сервера: Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-86-generic x86_64)
Версия Flashphoner: 4.1.1569
java version: 1.7.0_111
OpenJDK Runtime Environment (IcedTea 2.6.7) (7u111-2.6.7-0ubuntu0.14.04.3)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)
Фаервол отключен. Тестирование (клиент - сервер) производится на одном и том же сервере. Астериск находится в той же локальной сети (фаервола нет).
Важно: Без шифрования все работает (ws)
Что было сделано:
На клиенте:
в файле flashphoner.xml изменен параметр "use_wss" на "true".
На сервере:
Выпущен ssl сертификат (StartCom Ltd.)
Настроена работа домена через ssl (443 порт)
Имеем файлы:
домен.csr
домен.crt
домен.key
Далее выполнено следующее:
1. keytool -delete -alias selfsigned -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jk
2. openssl pkcs12 -export -in домен.crt -inkey mydomain.key -out домен.p12 -name "домен"
3. keytool -importkeystore -srckeystore домен.p12 -srcstoretype PKCS12 -destkeystore /usr/local/FlashphonerWebCallServer/conf/wss.jks
4. keytool -import -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jks -file домен.crt -alias ca-root
5. Restart WCS server
после чего при обращении скриптом Click2Call в серверных логах следующее:
==CAT==
WARN WSServerHandler - New I/O worker #9 Close channel because: javax.net.ssl.SSLException 'Received fatal alert: bad_certificate'
WARN faultChannelPipeline - New I/O worker #9 An exception was thrown by a user handler while handling an exception event ([id: 0x57a62247, /XX.XXX.XXX.XXX:37213 => /XX.XXX.XXX.XXX:8443] EXCEPTION: javax.net.ssl.SSLException: Received fatal alert: bad_certificate)
java.lang.NullPointerException
at com.flashphoner.server.ws.client.WSClients.isEnabled(Unknown Source)
at com.flashphoner.server.ws.B.exceptionCaught(Unknown Source)
==CAT==
При попытке обратиться к адресу - https://домен:8443 - обрыв соеденения, получаем следующее в логах:
==CAT==
WARN WSServerHandler - New I/O worker #9 Close channel because: org.jboss.netty.handler.codec.http.websocketx.WebSocketHandshakeException 'not a WebSocket handshake request: missing upgrade'
WARN faultChannelPipeline - New I/O worker #9 An exception was thrown by a user handler while handling an exception event ([id: 0x5c149045, /XX.XXX.XXX.XXX:57225 => /XX.XXX.XXX.XXX:8443] EXCEPTION: org.jboss.netty.handler.codec.http.websocketx.WebSocketHandshakeException: not a WebSocket handshake request: missing upgrade)
java.lang.NullPointerException
==CAT==
Так же пытались подменить файл wss.jks в директории conf - файлом из поставки (тогда все работает)
В итоге склоняемся к тому что сертификат импортирован не верно. Хотя при импортировании ошибок в консоли небыло.
Адрес вида https://домен - отрабатывает корректно (сертификат установлен все хорошо)
Просим указать на наши ошибочные действия. (Спасибо)
WSServerHandler - New I/O worker #10 Close channel because: javax.net.ssl.SSLException 'Received fatal alert: bad_certificate'
Данные сервера: Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-86-generic x86_64)
Версия Flashphoner: 4.1.1569
java version: 1.7.0_111
OpenJDK Runtime Environment (IcedTea 2.6.7) (7u111-2.6.7-0ubuntu0.14.04.3)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)
Фаервол отключен. Тестирование (клиент - сервер) производится на одном и том же сервере. Астериск находится в той же локальной сети (фаервола нет).
Важно: Без шифрования все работает (ws)
Что было сделано:
На клиенте:
в файле flashphoner.xml изменен параметр "use_wss" на "true".
На сервере:
Выпущен ssl сертификат (StartCom Ltd.)
Настроена работа домена через ssl (443 порт)
Имеем файлы:
домен.csr
домен.crt
домен.key
Далее выполнено следующее:
1. keytool -delete -alias selfsigned -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jk
2. openssl pkcs12 -export -in домен.crt -inkey mydomain.key -out домен.p12 -name "домен"
3. keytool -importkeystore -srckeystore домен.p12 -srcstoretype PKCS12 -destkeystore /usr/local/FlashphonerWebCallServer/conf/wss.jks
4. keytool -import -keystore /usr/local/FlashphonerWebCallServer/conf/wss.jks -file домен.crt -alias ca-root
5. Restart WCS server
после чего при обращении скриптом Click2Call в серверных логах следующее:
==CAT==
WARN WSServerHandler - New I/O worker #9 Close channel because: javax.net.ssl.SSLException 'Received fatal alert: bad_certificate'
WARN faultChannelPipeline - New I/O worker #9 An exception was thrown by a user handler while handling an exception event ([id: 0x57a62247, /XX.XXX.XXX.XXX:37213 => /XX.XXX.XXX.XXX:8443] EXCEPTION: javax.net.ssl.SSLException: Received fatal alert: bad_certificate)
java.lang.NullPointerException
at com.flashphoner.server.ws.client.WSClients.isEnabled(Unknown Source)
at com.flashphoner.server.ws.B.exceptionCaught(Unknown Source)
==CAT==
При попытке обратиться к адресу - https://домен:8443 - обрыв соеденения, получаем следующее в логах:
==CAT==
WARN WSServerHandler - New I/O worker #9 Close channel because: org.jboss.netty.handler.codec.http.websocketx.WebSocketHandshakeException 'not a WebSocket handshake request: missing upgrade'
WARN faultChannelPipeline - New I/O worker #9 An exception was thrown by a user handler while handling an exception event ([id: 0x5c149045, /XX.XXX.XXX.XXX:57225 => /XX.XXX.XXX.XXX:8443] EXCEPTION: org.jboss.netty.handler.codec.http.websocketx.WebSocketHandshakeException: not a WebSocket handshake request: missing upgrade)
java.lang.NullPointerException
==CAT==
Так же пытались подменить файл wss.jks в директории conf - файлом из поставки (тогда все работает)
В итоге склоняемся к тому что сертификат импортирован не верно. Хотя при импортировании ошибок в консоли небыло.
Адрес вида https://домен - отрабатывает корректно (сертификат установлен все хорошо)
Просим указать на наши ошибочные действия. (Спасибо)